Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > синхронизация скроллинга двух listbox'ов


Автор: Lunatikus 23.8.2007, 13:39
Какими методами и св-вами надо пользоваться,чтобы при ручном скроллинге записей в одном listbox'e в рядом стоящем происходил такой же скроллинг?

Автор: volvo877 23.8.2007, 13:58
Если тебя устроит такая прокрутка второго ListBox-а, при которой в нем верхним элементом будет устанавливаться тот же, что и верхний в первом боксе, то просто по таймеру делай:

Код

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  SendMessage(ListBox2.Handle, LB_SETTOPINDEX,
    SendMessage(ListBox1.Handle, LB_GETTOPINDEX, 0, 0), 0);
end;

Автор: Lunatikus 23.8.2007, 14:15
здорово!работает =)
не мог бы ты парой слов описать,что тут происходит?Впервые с таймером сталкиваюсь,елси честно.Да и аргументы мне непонятны.

Автор: ne0n 23.8.2007, 14:47
Цитата(Lunatikus @  23.8.2007,  14:15 Найти цитируемый пост)
не мог бы ты парой слов описать,что тут происходит?

взависимости от Timer.Interval код циклично повторяеться, ну а код не особо сложный, получаем позицию в ListBox1, и уснанавливаем для ListBox2, если хочешь узнать подробней о функции SendMessage, то нажми курсором на функцию и тыкни F1 smile 

Автор: Lunatikus 23.8.2007, 14:49
спасибо smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)