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

Вниз

Как узнать координаты определенной строки в ListBox-е?   Найти похожие ветки 

 
Cosinus ©   (2004-12-20 17:54) [0]

Собственно Sabj. Проблемма такая, есть ListBox, который заполняется в RunTime, посредством DragDrop. Хочется создавать слева от каждой добавленной строки мелкий Image, содержание которого зависит от содержимого строки. Но для того, чтобы создать Image необходимо знать координаты каждой строки. Есть, в принципе, идея привязаться к ListBox.Top и ListBox.Items.Count, но мне кажется, что разъедется все это при некоторых условиях... Есть ли другой способ?


 
Skier ©   (2004-12-20 18:03) [1]

1)TListBox.Style := lbOwnerDrawFixed
2)TListBox.OnDrawItem


 
olookin ©   (2004-12-20 18:16) [2]

Вот как сделал это я. У динамически создаваемого TListBox ставлю свойство Style:=lbOwnerDrawFixed; и назначаю событие OnDrawItem:=ListDrawItem. Картинки лежат ImageList.

А в самом событии пишу:

procedure TMyListBox.ListDrawItem(Control: TWinControl; Index: Integer;
         Rect: TRect; State: TOwnerDrawState);
var r: TRect;
   s: string;
   b: boolean;
begin
 with (Control as TListBox) do begin b:=false;
 r:=ItemRect(Index); s:=Items.Strings[Index]; Canvas.FillRect(r);
 if Pos(": картинка 1",s)<>0 then begin
 ImageList.Draw(Canvas,0,r.Top,0); b:=true; end;
 if Pos(": картинка 2",s)<>0 then begin
 ImageList.Draw(Canvas,0,r.Top,1); b:=true; end;
......
 Canvas.TextOut(30,r.Top+2,s); end;
end;

И вроде бы ничего не разъезжается. Правда у меня шрифт моноширинный...


 
Cosinus ©   (2004-12-20 18:44) [3]


> Skier ©   (20.12.04 18:03) [1]
olookin ©   (20.12.04 18:16) [2]  

Спасибо.



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

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

Наверх




Память: 0.47 MB
Время: 0.067 c
4-1101283739
Sav1977
2004-11-24 11:08
2005.01.09
Windows


1-1103748902
RedLord
2004-12-22 23:55
2005.01.09
нарыл в инете примеры работы с ICQ а они не компилятся


3-1102614287
oxigen
2004-12-09 20:44
2005.01.09
Как выполнить скрипт IB


14-1103272892
Antoha
2004-12-17 11:41
2005.01.09
Хотите взглянут на орешник чужими глазами?


6-1098311226
sirin
2004-10-21 02:27
2005.01.09
FindFirst