vb6如何知道msflexgrid_scroll向上点击

时间:2011-07-28 13:04:22

标签: vb6 msflexgrid

点击向下箭头上的msflexgrid滚动条时,我怎么知道我点击了向下箭头。如果可能,请给我示例代码。

由于

1 个答案:

答案 0 :(得分:1)

取决于你想要的东西(它定义了你需要它的具体程度)。您可以通过Scroll事件判断网格何时成功滚动:

Private Sub MSFlexGrid1_Scroll()

    Debug.Print "Scrolled"

End Sub

如果您需要区分向上(以及单个移动与更大的条形移动),您必须跟踪顶行:

Option Explicit
Public GridTop As Long

Private Sub Form_Load()
Dim lA As Long

    MSFlexGrid1.Cols = 4
    MSFlexGrid1.Clear
    For lA = 1 To 20
        MSFlexGrid1.AddItem lA & vbTab & "bob-" & lA & vbTab & lA & "-fred" & vbTab & lA & "-joe-" & lA
    Next lA
    MSFlexGrid1.RemoveItem 1
    GridTop = MSFlexGrid1.TopRow

End Sub

Private Sub MSFlexGrid1_Scroll()

    Debug.Print "Scrolled"
    Debug.Print MSFlexGrid1.TopRow
    If MSFlexGrid1.TopRow = GridTop + 1 Then
        Debug.Print "Down arrow (effective)"
    End If
    GridTop = MSFlexGrid1.TopRow

End Sub

如果您确实需要知道何时单击特定的向下箭头,无论它是否实际滚动网格,现在您将进入子类化。试试这个:

http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=59656&lngWId=1

在示例项目中换掉rtfExample的flexgrid - 我试过了,似乎工作正常。