Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];

Вниз

Прорисовка 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.06 c
8-1096546874
Expl
2004-09-30 16:21
2005.01.02
Вывод на 2 канала звуки разной частоты


1-1103310754
Жекер
2004-12-17 22:12
2005.01.02
Что за предупреждение?


1-1103185905
Mishenka
2004-12-16 11:31
2005.01.02
Какой список лучше выбрать для элементов одного типа?


10-1071784665
Temik
2003-12-19 00:57
2005.01.02
DCOM: как запустить в сети?


4-1100607982
Avatara
2004-11-16 15:26
2005.01.02
Перехват и обработка ошибок.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский