Страница: 1 |
Как осуществить сабж? Т.е. я не слепой и не тупой...опнимаю, что надо работать с List1_Scroll....скорее всего, а что там писать?
То есть тебе что, надо сделать так, чтобы прокручивая один лист - прокручивался и другой? Думаю, тут тебе без sendmessage не обойтись. Если через задницу, то примерно так... Option Explicit Private Declare Function GetScrollInfo Lib "user32" (ByVal hWnd As Long, ByVal n As Long, lpScrollInfo As SCROLLINFO) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Type SCROLLINFO cbSize As Long fMask As Long nMin As Long nMax As Long nPage As Long nPos As Long nTrackPos As Long End Type Dim Scroll As SCROLLINFO Private Const WM_VSCROLL = &H115 Private Const SB_THUMBPOSITION = 4 Dim hWnd1 As Long Dim hWnd2 As Long Private Sub Form_Load() Dim i As Long For i = 1 To 20 List1.AddItem i List2.AddItem i Next i Scroll.fMask = 4 Scroll.cbSize = Len(Scroll) hWnd1 = List1.hWnd hWnd2 = List2.hWnd End Sub Private Sub List1_Scroll() Dim Ret As Long Ret = GetScrollInfo(hWnd1, 1, Scroll) Ret = SendMessage(hWnd2, WM_VSCROLL, Scroll.nPos * 65536 + SB_THUMBPOSITION, 0) End Sub По идее можно поставить на контрол слежку (хук) и, например, в момент скроллирования устанавливать значения TopIndex у всех необходимых ListBox'ов... Вот взято со старого vbRussian: Ну вы тут пока 2 дня тормозили отвечаю сам на свой вопрос. Private Sub List1_Scroll() List2.TopIndex = List1.TopIndex End Sub Private Sub List2_Scroll() List1.TopIndex = List2.TopIndex End Sub Ну дык я же сказал - через задницу. А вообще замечаю - простые решения стали приходить в последнюю очередь ) (Зато интересно повозиться со сложными) Страница: 1 |
Вопрос: Одновременный скролинг нескольких ListBox'ов в VB6
Добавлено: 25.04.04 22:13
Автор вопроса: FLK-72m
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #1
Добавлено: 26.04.04 16:02
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 26.04.04 17:48
----------------------------------------------------------
Как синхронизировать скролинг в двух листбоксах?
Вы будете смеяться, достаточно воспользоваться свойствами TopIndex, синхронизируя их при изменении.
----------------------------------------------------------
Номер ответа: 3
Автор ответа:
FLK-72m
Вопросов: 1
Ответов: 1
Профиль | | #3
Добавлено: 27.04.04 03:20
Номер ответа: 4
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #4
Добавлено: 27.04.04 08:33