vb6 как узнать msflexgrid_scroll up down click - PullRequest
1 голос
/ 28 июля 2011

при нажатии на полосу прокрутки msflexgrid на стрелке вниз, как я могу узнать, что я нажал на стрелку вниз.Дайте мне пример кода, если это возможно.

Спасибо

1 Ответ

1 голос
/ 20 сентября 2011

Зависит от того, для чего вы хотите (что определяет, насколько конкретно вам это нужно).Вы можете сказать, когда сетка была успешно прокручена с помощью события 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

Просто замените flexgrid для rtfExample в примере проекта - я пробовал, кажется, работает нормально.

...