Главная страница
    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.039 c
14-1102909771
Думкин
2004-12-13 06:49
2005.01.02
С днем рождения! 13 декабря


3-1102320495
AleKo
2004-12-06 11:08
2005.01.02
ClientDataSet


4-1100149622
hyper_omsk
2004-11-11 08:07
2005.01.02
com и мобильник


14-1102569513
Layner
2004-12-09 08:18
2005.01.02
ИТ-специалистов вытеснят новые технологии


14-1102968073
SergP
2004-12-13 23:01
2005.01.02
База Oracle8i ==> Oracle9i





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский