Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в ListBox отчертить элементы [D5]


TechnoDreamer ©   (2004-07-11 21:47:00) 

Надо чтобы каждый элемент в TListBox был отчерчен линией (как строки в TStringGrid). Сам StringGrid не подходит, нужно что бы компонент имел свойство Items. Подскажите как это сделать, или может быть есть какой-нибуть компонент с этой функцией?


TechnoDreamer   (2004-07-16 01:25:00) [1]

А еще вопрос, как бы дорисовать эти полосочики до самого низа компонента? При условии что есть незаполненое элементами место и нельзя добавлять пустые элементы?


TechnoDreamer   (2004-07-11 22:29:00) [2]

2 Sergey Kaminski:
большое спасибо!


Sergey Kaminski   (2004-07-11 22:21:00) [3]

и да будут всем хорошо :)


Sergey Kaminski   (2004-07-11 22:19:00) [4]

TListBox.Style = lbOwnerDrawFixed

в обработчике  OnDrawItem:

 with TListBox(Control).Canvas do
 begin
   if odSelected in State then
   begin
     Brush.Color := clHighlight;
     Font.Color := clHighlightText;
   end
   else
   begin
     Brush.Color := clWindow;
     Font.Color := clWindowText
   end;

   FillRect (Rect);

   TextOut(Rect.Left,Rect.Top,TListBox(Control).Items[Index]);

   // а теперь линии
   Pen.Color := clBlack;
   MoveTo (Rect.Left,Rect.Bottom);
   LineTo (Rect.Right,Rect.Bottom);
   MoveTo (Rect.Left,Rect.Top);
   LineTo (Rect.Right,Rect.Top);
 end;


KilkennyCat   (2004-07-11 22:17:00) [5]

тогда отрисовать их самому.


TechnoDreamer   (2004-07-11 22:12:00) [6]

да это не совсем то, мне нужна совметимость, где элементы хранятся в TStrings.


KilkennyCat   (2004-07-11 21:51:00) [7]

ListView


Наверх

Титульная страница Поиск, карта сайта Написать письмо