Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];
ВнизПытаюсь изменить цвет фона элементов 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 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c