如何用程序移动MSHFlexGrid的滚动条

解决方案 »

  1.   

    用SendMessage试试
    SendMessage(hw,WM_SCROLL,xxx,xxx)
    wPara和lPara要去查一下
      

  2.   

    能不能说明清楚些,后面的那个XXX是什么.
      

  3.   

    是不是想让MSHFlexGrid 显示你想看到的那行或列啊。
    设置它的 toprow 或 leftcol  就好啦。
      

  4.   

    直接用改变控件的TopRow属性就可以达到你的效果。例如Private Sub Command1_Click()
    On Error GoTo err
    MSHFlexGrid1.TopRow = MSHFlexGrid1.TopRow + 1 '向下移一行
    'MSHFlexGrid1.TopRow = MSHFlexGrid1.TopRow - 1 '向上移一行
    err:
    If err.Number = 30009 Then
    MsgBox "你已移到顶了"
    End If
    End Sub
      

  5.   

    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
      

  6.   

    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
      

  7.   

    上移一行
    sendmessage(hw,WM_SCROLL,WS_UP,vbNullString)
    下移一行
    sendmessage(hw,WM_SCROLL,WS_DOWN,vbNullString)
    滚动到某个地方
    SetScrollPos(hw,WS_VERT,pos) '垂直
    SetScrollPos(hw,WS_HORZ,pos) '水平