Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.02;
Скачать: CL | DM;

Вниз

Прорисовка ListBox   Найти похожие ветки 

 
Igor_thief   (2004-12-19 16:58) [0]

Как сделать такое? Есть ListBox. В нем выделен один элемент. При движении мишки над Listbox"om надо чтобы элементы находящийся под курсором мишки подсвечивался (только подсвечивался, а не ставал активным).


 
begin...end ©   (2004-12-19 17:03) [1]

> Igor_thief   (19.12.04 16:58)

Думаю, что копать нужно в сторону TListBox.OnMouseMove и TListBox.ItemAtPos.


 
begin...end ©   (2004-12-19 17:05) [2]

> Igor_thief

Кстати, а TListView не подойдёт? Там уже есть свойство HotTrack.


 
antonn ©   (2004-12-19 17:39) [3]


> Igor_thief   (19.12.04 16:58)  

Так, что ли?

var track:integer;

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
 Rect: TRect; State: TOwnerDrawState);
begin
With ( Control As tListBox ).Canvas Do  Begin
 if Index=track then begin
     Font.Color  := 204;
     Brush.Color := 14737663;
 end else begin
     Font.Color  := clWindowText;
     Brush.Color := clWindow;
 end;
   FillRect(Rect);
   TextOut(Rect.Left, Rect.Top, ( Control As tListBox ).Items.Strings[index]);// +"  "+ pWWW_Conn(List_Conn.Items.Objects[ index ])^.sss);
 end;
end;

procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
  track:= y div ( Sender As tListBox ).ItemHeight;
  ( Sender As tListBox ).Invalidate;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 ListBox1.DoubleBuffered:=true;
end;


 
Igor_thief   (2004-12-20 11:44) [4]

begin...end ©   (19.12.04 17:05) [2]
Не подойдет.

begin...end ©   (19.12.04 17:03) [1]
Это понятно. Но как в OnMouseMove перепрорисовывать конкретный элемент под мышкой?


 
Igor_thief   (2004-12-20 11:45) [5]

antonn ©   (19.12.04 17:39) [3]
ЧТо-то похожее, но чтобы не терялся выделенный элемент!


 
Igor_thief   (2004-12-20 11:56) [6]

antonn ©   (19.12.04 17:39) [3]
Спасибо за идею. Я этот код немного приукрашу и все будет работать как надо.



Страницы: 1 вся ветка

Текущий архив: 2005.01.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
1-1103469046
Delphin
2004-12-19 18:10
2005.01.02
Привет мастера! Есть такой вопрос: как отловить клик по заголовку


3-1102316702
Sergo
2004-12-06 10:05
2005.01.02
Тип поля


6-1097643023
L.evil
2004-10-13 08:50
2005.01.02
Делаю веб сервер на IdHTTPServer.


3-1102412563
Del
2004-12-07 12:42
2005.01.02
Тип базы данных


1-1103430349
Roobee
2004-12-19 07:25
2005.01.02
Создание Records во время работы программы