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

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

Есть ли компонент...


Tempora ©   (2006-05-21 17:02:00) 

Есть ли компонент типа LixtBox только с возможностью использования разного цвета текста для строк?


Плохиш   (2006-05-22 11:59:00) [1]


> Галинка ©   (22.05.06 00:22) [6]
> А можно ли менять цвет фона строки?

В строке Canvas.Font.Color:=clHighlightText;надо убрать слово .Font.


Галинка   (2006-05-22 00:22:00) [2]

А можно ли менять цвет фона строки?


Tempora   (2006-05-21 21:36:00) [3]

Спасибо, понял в чем ошибка
Я думал этот код будет обробатываться сразу для всего содержимого листбокса, а он вызывается для обработки каждой строки.


Tempora   (2006-05-21 19:12:00) [4]

А как сделать иначе?
Все-равно он никак не хочет отдельную строку выделять цветом.


begin...end   (2006-05-21 17:30:00) [5]

> Tempora   (21.05.06 17:21) [2]

Что же здесь удивительного? При каждом вызове OnDrawItem Вы проверяете один и тот же элемент -- последний (с индексом log1.Items.Count-1). Поэтому все строки рисуются одним и тем же цветом...


Tempora   (2006-05-21 17:21:00) [6]

Я пробовал. Я использую код:
procedure TfWorking.log1DrawItem(Control: TWinControl; Index: Integer;
 Rect: TRect; State: TOwnerDrawState);
var
I: integer;
begin
I:= log1.Items.Count-1;
With log1 do
begin
if Items[I] = 'Соединение с FTP установлено' then
Canvas.Font.Color:=clGreen;
if Items[I] = 'Не удалось соединиться с FTP' then
Canvas.Font.Color:=clRed;

If odSelected in State then
Canvas.Font.Color:=clHighlightText;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left+2,Rect.Top,Items[Index]);
end;
end;
Но при этом все содержимое ListBox становится красным (там много строк).


begin...end   (2006-05-21 17:17:00) [7]

Это и есть ListBox. См. в справке: TListBox.OnDrawItem.


Наверх

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