Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
Вниз
перерисовка listbox Найти похожие ветки
← →
John (2005-07-26 17:23) [0]Значит listbox co стилем lbOwnerDrawVariable
MultiSelect- false
При selecte которого строка закрашивается в цвет
with Control as TListBox, Canvas do
begin
if selected[index]=true then
Brush.Color:=clReD;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left, Rect.Top,Items[Index]);
end;
Как при этом очистить остальные строки( не в смысле данные
а привести к исходному цвету).
В событие Onclick
используя Repaint Refresh
сильно мерцает
Или как устронить это мерцание ?
← →
Джо © (2005-07-26 17:27) [1]Неверно делаешь. Нужно таким образом:
Brush.Style := bsSolid;
if odSelected in State then
begin
Brush.Color := clHighlight;
Font.Color := clHighlightText
end
else
begin
Brush.Color := clWindow;
Font.Color := clWindowText
end;
FillRect (Rect);
← →
Джо © (2005-07-26 17:28) [2]
> [1] Джо © (26.07.05 17:27)
То есть, еще, при необходимости добавить проверку на другие состояния в State.
Да, OnDrawItem вызывается, когда это необходимо, в том числе, и для "остальных" строк.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.011 c