![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в 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