Вниз
Скачать: CL | DM;

Пытаюсь изменить цвет фона элементов Listbox a   Найти похожие ветки 

← →
c13   (2003-08-28 07:49) [0]

Пытаюсь изменить цвет фона некоторых (в зависимости) элементов Listbox"a, но при изменении цвета изменятся фон всех элементов. Помогите, пожалуйста, разрешить эту проблему. (Хорошо бы код привести)


← →
c13   (2003-08-28 07:50) [1]

...фона некоторых (в зависимости ОТ ТЕКСТА В НИХ) элементов Listbox"a...


← →
KSergey ©   (2003-08-28 08:02) [2]

А может напишете, как это вы делаете?
Не проверял, но сделал бы так (этот кусок на основе переделки изменения цвета шрифта для разных строк)

// обработчик OnDrawItem ListBox"а
// lbxFuncList - это название ListBox"а у меня
// свойство ListBox.Style = lbOwnerDrawFixed

procedure TRoleEditFrm.lbxFuncListDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
pItemData := PRecListData(lbxFuncList.Items.Objects[Index]);
with lbxFuncList.Canvas do
begin
Brush.Color := clRed; // устанавливаем цвет фона какой надо
FillRect (Rect); // закрашиваем тек. строку
Inc(Rect.Top);
Inc(Rect.Left); // уст. позицию для выводжа текста
TextOut (Rect.Left, Rect.Top, lbxFuncList.Items[Index]); // вывод собственно текста можно вывести произвольно другой текст
end;
end;


// обработчик OnDrawItem ListBox"а
// lbxFuncList - это название ListBox"а у меня
// свойство ListBox.Style = lbOwnerDrawFixed

procedure TRoleEditFrm.lbxFuncListDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with lbxFuncList.Canvas do
begin
Brush.Color := clRed; // устанавливаем цвет фона какой надо
FillRect (Rect); // закрашиваем тек. строку
Inc(Rect.Top);
Inc(Rect.Left); // уст. позицию для выводжа текста
TextOut (Rect.Left, Rect.Top, lbxFuncList.Items[Index]); // вывод собственно текста можно вывести произвольно другой текст
end;
end;


Вообще-то есть подозрение, что дожно проканать что-то такое, но надо проверять:

// предполагаем, что свойство ListBox.Style = lbStandart

procedure TRoleEditFrm.lbxFuncListDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
lbxFuncList.Canvas.Brush.Color := clRed; // устанавливаем цвет фона какой надо
end;


Но это надо проверять...


← →
KSergey ©   (2003-08-28 08:03) [3]

2 раза скопировал, извиняюсь



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
8-24568
Stexen
2003-04-29 23:58
2003.09.08
Что-то вроде паинт!!


14-24619
DeMoN-777
2003-08-21 09:15
2003.09.08
Оптимизация jpg


14-24698
Daniel
2003-08-19 12:06
2003.09.08
Недавно хорошую фразу вычитал в книге по админигу Соляры


7-24731
Mishel
2003-06-25 14:49
2003.09.08
Как избавиться от потерь при чтении I/O портов?


8-24564
wara
2003-05-12 11:35
2003.09.08
Какие данные хранятся вместе с графикой в графических файлах?




   Наверх