How to Program Two List Boxes to Scroll Together
ID: Q103809
|
The information in this article applies to:
-
Microsoft Visual Basic programming system for Windows, versions 2.0, 3.0
SUMMARY
You can give two list boxes the ability to scroll together in unison. In
other words, you can program your Visual Basic application so that when the
user scrolls the List1 box, the contents of the List2 box will scroll in
the same direction automatically -- without using the List2 scroll bar.
MORE INFORMATION
The example below uses two list boxes, side by side, to demonstrate this
technique to simulate the appearance of two list boxes scrolling together.
Step-by-Step Example
- Start Visual Basic or from the File menu, choose New Project (ALT, F, N)
if Visual Basic is already running. Form1 is created by default.
- Add two list boxes, one timer control, and one command button to Form1.
For the best visual effect, place the list boxes side by side with the
List1 box on the left.
- Add the following code to the (general) (declarations) section of Form1:
DefInt A-Z
- Add the following code to the Form Load event procedure of Form1:
Sub Form_Load ()
'Initialize two list boxes with the alphabet
For i = 1 To 26
list1.AddItem Chr$(i + 64)
Next i
For i = 1 To 26
list2.AddItem Chr$(i + 64)
Next i
Timer1.Interval = 1
Timer1.Enabled = True
End Sub
- Add the following code to the Command1 Click event procedure of Form1:
Sub Command1_Click ()
End
End Sub
- Add the following code to the Timer1_Timer event procedure of Form1:
Sub Timer1_Timer ()
Static PrevTI_List1
'Get the index for the first item in the visible list
TopIndex_List1 = list1.TopIndex
'See if the top index has changed
If TopIndex_List1 <> PrevTI_List1 Then
'Set the top index of List2 equal to List1 so that the list boxes
'scroll to the same relative position
list2.TopIndex = TopIndex_List1
'Keep track of the current top index
PrevTI_List1 = TopIndex_List1
End If
'Select the item in the same relative position in both list boxes
If list1.ListIndex <> list2.ListIndex Then
list2.ListIndex = list1.ListIndex
End If
End Sub
- Press the F5 key to run the program. Select a letter in the List1 box.
Then try the scroll bar of the List1 box. You should see the same letter
highlighted in the List2 box when you select a letter from the List1
box. Then when you try the scroll bar of the List1 box, you should see
the List2 box scroll in unison with the List1 box.
Additional query words:
2.00 3.00
Keywords :
Version :
Platform :
Issue type :
|