Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизЕсть ли компонент... Найти похожие ветки
← →
Tempora (2006-05-21 17:02) [0]Есть ли компонент типа LixtBox только с возможностью использования разного цвета текста для строк?
← →
begin...end © (2006-05-21 17:17) [1]Это и есть ListBox. См. в справке: TListBox.OnDrawItem.
← →
Tempora (2006-05-21 17:21) [2]Я пробовал. Я использую код:
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:30) [3]> Tempora (21.05.06 17:21) [2]
Что же здесь удивительного? При каждом вызове OnDrawItem Вы проверяете один и тот же элемент -- последний (с индексом log1.Items.Count-1). Поэтому все строки рисуются одним и тем же цветом...
← →
Tempora (2006-05-21 19:12) [4]А как сделать иначе?
Все-равно он никак не хочет отдельную строку выделять цветом.
← →
Tempora (2006-05-21 21:36) [5]Спасибо, понял в чем ошибка
Я думал этот код будет обробатываться сразу для всего содержимого листбокса, а он вызывается для обработки каждой строки.
← →
Галинка © (2006-05-22 00:22) [6]А можно ли менять цвет фона строки?
← →
Плохиш © (2006-05-22 11:59) [7]
> Галинка © (22.05.06 00:22) [6]
> А можно ли менять цвет фона строки?
В строкеCanvas.Font.Color:=clHighlightText;
надо убрать слово.Font.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c