ListBox и Vscroll

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
M_Block
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 22.06.2007 (Пт) 6:55

ListBox и Vscroll

Сообщение M_Block » 22.06.2007 (Пт) 7:08

Ситуация такая. У меня на форме 3 ListBox'а, заполняются всегда одинаковым кол-ом строк, при появлении VScroll необходимо прокручивать их во всех окнах одинаково. Использовал GetScrollPos и SetScrollPos, перемещаются, но содержимое ListBox'а остается на месте, пока не тыкнешь по полосе прокрутки. Помогите пожалуйста, заранее спасибо.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 22.06.2007 (Пт) 7:21

Код показывай
Весь мир матрица, а мы в нем потоки байтов!

M_Block
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 22.06.2007 (Пт) 6:55

Сообщение M_Block » 22.06.2007 (Пт) 8:04

Код: Выделить всё
Private Const SB_VERT = 1

Private Declare Function GetScrollPos _
Lib "user32" ( _
    ByVal hwnd As Long, _
    ByVal nBar As Long _
) As Long

Private Declare Function SetScrollPos _
Lib "user32" ( _
    ByVal hwnd As Long, _
    ByVal nBar As Long, _
    ByVal nPos As Long, _
    ByVal bRedraw As Long _
) As Long

Private Sub List1_Click()
List1.ToolTipText = List1.Text
List2.ListIndex = List1.ListIndex
List3.ListIndex = List1.ListIndex
Position_scr = GetScrollPos(List1.hwnd, SB_VERT)
pos2 = SetScrollPos(List2.hwnd, SB_VERT, Position_scr, True)
'MsgBox (Position_scr & " " & pos2)
End Sub


Вот после этого полоска перемещается, в Msgbox отслеживается изменение значения, но List2 не "освежается". :(
Видел на форуме похожее решение, но там используются установленные ScrollBar'ы, а мне бы хотелось использовать встроенный.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.06.2007 (Пт) 8:34

А не проще использовать TopIndex?
Lasciate ogni speranza, voi ch'entrate.

M_Block
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 22.06.2007 (Пт) 6:55

Сообщение M_Block » 22.06.2007 (Пт) 9:28

М-мда, а слона то я и не заметил. :)
Не пользовался этим свойством, а зря. Спасибо, так действительно попроще будет.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 83

    TopList