Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > CheckListBox+TJvTrackBar


Автор: W1zArD 23.6.2006, 03:02
Суть в том что TJvTrackBar должен быть привязан к определенной Item - строке...
При том если идет промотка он должен следовать за своим item.
 smile  

Автор: Dynamic 23.6.2006, 06:40
не совсем понятно... если привязать ползунок трэкбара к строке, прокрутить листбокс так, чтобы эта строка скрылась - как должен отображать ето трэкбар? 

Автор: Palladin 23.6.2006, 06:59
походу нужно привязать эти действия к событию на колёсико мыши smile хотя вопрос поставлен не коректно smile  

Автор: W1zArD 23.6.2006, 15:39
Хм...

Каждый бегунок прикреплен к определенной строке в ListBox...
Не важно какая строка 10, 100, 1000 главное чтобы TrackBar был корректно ПРИКРИПЛЕН smile   

Автор: W1zArD 23.6.2006, 15:59
Цитата(Dynamic @ 23.6.2006,  06:40)
не совсем понятно... если привязать ползунок трэкбара к строке, прокрутить листбокс так, чтобы эта строка скрылась - как должен отображать ето трэкбар?

Трэкбар привязан к строке. значит если прокручиваются строки, "прокручивается" трэкбар 

Автор: Dynamic 26.6.2006, 06:04
Цитата(W1zArD @  23.6.2006,  15:59 Найти цитируемый пост)
Трэкбар привязан к строке. значит если прокручиваются строки, "прокручивается" трэкбар
прочти еще раз мой пост.

Очень смутно представляя, что должно получиться, наваял такое:
Код

procedure TForm1.ListBox2DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
     with ListBox2, Canvas do
     begin
       Brush.Color := ListBox2.Color;
       FillRect(Rect);
       TextOut(Rect.Left, Rect.Top, Items[Index]);
     end;
     TrackBar1.Position := 5 - ListBox2.TopIndex + 1;
end;

не забудь - >ListBox2.Style := lbOwnerDrawFixed и прорисовку сам доделывай (фокусрект, селектед и т.д.)

суть: надо отловить момент прокрутки листбокса, можно ловить сообщения, можно проверять по таймеру. Я лювлю при прорисовке листбокса. Трэкбар должен иметь Max = кол-ву строк листбокса.

Добавлено @ 06:08 
В примере я привязал трэкбар к строке №5 

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