代码如下:
Private Sub Command1_Click()
    MsgBox "Clip = " & MSHFlexGrid1.Clip
End SubPrivate Sub Form_Load()
    With MSHFlexGrid1
        .Rows = 4
        .Cols = 4
        .Row = 0
        .Col = 0
        .RowSel = 3
        .ColSel = 3
        .Clip = vbTab & 1 & vbTab & 2 & vbTab & 3 & vbCr & _
                1 & vbTab & 1 & vbTab & 2 & vbTab & 3 & vbCr & _
                2 & vbTab & 2 & vbTab & 4 & vbTab & 6 & vbCr & _
                3 & vbTab & 3 & vbTab & 6 & vbTab & 9
        .Row = 1
        .Col = 1
        .RowSel = 1
        .ColSel = 1
    End With
    Command1.Caption = "Clip"
End Sub点击"Clip"按钮以后,弹出的对话框只有Clip=后面没有数据,也就是用MSHFlexGrid1.Clip得不到任何数据.

解决方案 »

  1.   

    不知道是为什么,以前用MSHFlexGrid1.Clip成功过,会不会是和操作系统有关系,开发环境:Win2000SP4+VB6SP6
      

  2.   

    你在FORM_LOAD最后:
    .Row   =   1 
    .Col   =   1 
    .RowSel   =   1 
    .ColSel   =   1 
    那你后面的.CLIP也就不是前面的那个.CLIP了,因为选择范围已经更改了还有,我怀疑你的GRID是否能在程序加载时显示出数据来,因为有些控件在窗体加载时赋值会失败,不过你的代码我没有测试过。还是楼主确认一下显示出来的GRID数据是否正确。至于前面一段我写的已经指出了楼主的一个问题。
      

  3.   

    那个可以不用那个就好了,想在MSHFlexGrid1控件中显示数据,就在通用里定义个函数,用时调用一下就行了
    Public Function CDfilecxlist_update()
       Dim rs As New ADODB.Recordset
       Dim sql As String
       sql = "select * from CDFileInfo"  '从表中读取信息
      
       '将表中所有记录显示在CDfilecx窗体的MSFlexGrid1表中
       Dim i As Integer
       Set rs = TransactSQL(sql)
       If Not rs.EOF Then
          With MSFlexGrid1
            .Rows = 1
            While Not rs.EOF
            .Rows = .Rows + 1
            .TextMatrix(.Rows - 1, 0) = rs(0)
            .TextMatrix(.Rows - 1, 1) = rs(1)
            .TextMatrix(.Rows - 1, 2) = rs(2)
             rs.MoveNext
            Wend
          End With
        End If
        rs.Close
        MSFlexGrid1.Refresh
    End Function
      

  4.   

    不好意思,很久以前的贴了,后来发现是有一个dll文件版太低,具体名字不记得了,重新打SP6补丁,问题解决!