Вниз
Скачать: 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
6-24602
panov
2003-07-02 16:02
2003.09.08
WinSock2 API: количество дескрипторов.


1-24439
falic
2003-08-25 16:31
2003.09.08
Проблема с компиляцией проектов.


14-24690
Мазут Береговой
2003-08-19 09:58
2003.09.08
Ну, вот и дождались!


3-24305
demonyator
2003-08-18 17:39
2003.09.08
Order by и редактирование...


1-24538
Alex___
2003-08-27 19:56
2003.09.08
Сортировка цыфер в файле




   Наверх