我想用MSFlexgrid实现以下功能:
当我单击一个Command控件后,然后在双击MSFlexgrid上面的一个单元格,使它弹出一个对话框,让我把信息输入.弹出的这个对话框要是单击command控件弹出的对话框.
 也就是说:把command可以直接弹出的对话框,通过单击MSFlexgrid上的一个单元格,也可以弹出同单击command控件一样的对话框.还有如何实现,MSFlexgrid两个不同内容单元格的合并

解决方案 »

  1.   

    sub grid1_click()
    msgbox "ddd"
    end sub
      

  2.   

    听不懂,单击command再双击grid要弹个框,这个框又是单击command弹出来的?
      

  3.   

    不好意思,可能是我说的不清楚.我的意思是先通过单击command控件后,然后在双击MSFlexgrid上选中的单元格,才能使另外一个窗体出现.本来这个窗体单击command控件的时候就可以弹出另外一个窗来啦,但是我现在要它单击之后,再双击MSFlexgrid上的单元格,才弹出command控件可以弹出的那个窗体!具体的意思就是通过MSFlexgrid这个桥梁实现它的弹出另外一个窗体的功能.
      

  4.   

    定义一个boolean变量
    command_click里,True
    grid_dbclick里,if true then 弹窗
      

  5.   

    如何实现,MSFlexgrid两个不同内容单元格的合并
      

  6.   

    如何实现,MSFlexgrid两个不同内容单元格的合并 !!! 最好有个简单的例子
      

  7.   

    MSFlexgrid 好像是内容相同才能合并
      

  8.   

    用VSFlexGrid试试,MS只能内容相同合并
      

  9.   

    如果你只是用于显示数据的话,而不用处理很多事件,可以下下我自己的OCX试试,因为我有很多事件还没写完,
    上面传的是几天前的版本,我不知道怎么把它删除传个新的,现在已经修正了界面的显示和内部一些Bug:http://download.csdn.net/user/TomyChoi
      

  10.   

    我把代码粘贴出来,我要实现的目的.通过选单击Command1,然后双击要选种的的第一行后弹出form2窗体.在from2填好text1和text2和选择好combo1里面的数据后,把它们分别显示在aa,bb,cc这些列下面.
    然后单击command2,双击要选种的的第2行后弹出form2窗体.在from2填好text1和text2和选择好combo1里面的数据后,把它们分别显示在aa,bb,cc这些列下面
    使它实现最后的结果:
    qq    aa     bb    cc   dd
          123    456   In
          147    258   Out
    form1窗体
    Option Explicit
      Dim a As Boolean
      Dim b As BooleanPrivate Sub Command1_Click()
        a = True
    End SubPrivate Sub Command2_Click()
       b = True
    End SubPrivate Sub Form_Load()
    Dim x As Integer
    MSFlexGrid1.Cols = 5
    MSFlexGrid1.Rows = 20
    MSFlexGrid1.RowHeight(0) = 580
    MSFlexGrid1.ColWidth(0) = 700
    MSFlexGrid1.ColWidth(1) = 700
    MSFlexGrid1.ColWidth(2) = 900
    MSFlexGrid1.ColWidth(3) = 900
    MSFlexGrid1.ColWidth(4) = 4000
    MSFlexGrid1.TextMatrix(0, 0) = "qq"
    MSFlexGrid1.TextMatrix(0, 1) = "aa"
    MSFlexGrid1.TextMatrix(0, 2) = "bb"
    MSFlexGrid1.TextMatrix(0, 3) = "cc"
    MSFlexGrid1.TextMatrix(0, 4) = "dd"
    For x = 1 To 19
      MSFlexGrid1.RowHeight(x) = 500
    Next x
    End SubPrivate Sub MSFlexGrid1_DblClick()
      Dim i As Integer
        For i = 1 To 19
              If MSFlexGrid1.RowSel = i Then                        
                      If a = True Then
                      Form2.Show
                    End If
              End If
        Next i
    End Subform2窗体
    Private Sub Command1_Click()
     
       Form1.MSFlexGrid1.TextMatrix((i) + 1, 1) = Text1.Text 
       Form1.MSFlexGrid1.TextMatrix((i) + 1, 2) = Text2.Text 
       Form1.MSFlexGrid1.TextMatrix((i) + 1, 3) = Combo1
       Unload Me
    End Sub
    Private Sub Form_Load()
      Combo1.AddItem "1"
      Combo1.AddItem "2"
      Combo1.AddItem "中国"
      Combo1.AddItem "In"
      Combo1.AddItem "Out"
    End Sub
      

  11.   

    其实说到底不就是想msflexgrid进行输入操作吗?
    搞的这么复杂
    我的思路是当双击msflexgrid的单元格时,自动把TextBox或Combox放到单元格上,输入或选择完后,
    直接显示到对应的单元格就行,根本没必要那两个按钮和另一个窗体
    我没有现成的代码,你去网上搜搜应该有很多
      

  12.   

    靠,楼上一说我才听明白。直接在窗体上隐藏一个Text或者Combo之类的,然后在Grid的Click事件里写上Text1.Move Grid1.CellLeft + Grid1.Left, Grid1.CellTop + Grid1.Top, Grid1.CellWidth, Grid1.CellHeight
    Text1.Setfocus就行了