Текущий архив: 2004.04.25;
Скачать: CL | DM;
Вниз
Скроллинг в ListView Найти похожие ветки
← →
Andrew2 (2004-04-09 14:09) [0]В ListView сделана черезполосица цветов для font background: белая строчка-серая-белая-серая-... Вот кусок, который отвечает за это:
procedure TForm1.LvCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
ColFnt, ColBkg: TColor;
begin
if FLineOdd then
ColBkg := BKG_WHITE
else
ColBkg := BKG_GREY;
FLineOdd := not FLineOdd;
(Sender as TCustomListView).Canvas.Brush.Color := ColBkg;
DefaultDraw := true;
end;
При выводе текста все получается прекрасно. Но когда делается прокрутку этого ListBox (колесом мышки, например), цвета у строк меняются: могут все строки стать серыми, или часть серо-белыми и т.п.
Что может помочь этому горю?
Спасибо.
← →
NAlexey © (2004-04-09 14:56) [1]
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
with Sender as TCustomListView do
if Item.Index mod 2 = 0 then
Canvas.Brush.Color := clWhite
else
Canvas.Brush.Color := clGray;
end;
← →
NAlexey © (2004-04-09 15:00) [2]или для гурманов:
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
const
a: array[boolean] of Integer = (clGray, clWhite);
begin
with Sender as TCustomListView do
Canvas.Brush.Color := a[Item.Index mod 2 = 0]
end;
← →
Andrew2 (2004-04-09 16:25) [3]Точно. Спасибо :)
Страницы: 1 вся ветка
Текущий архив: 2004.04.25;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.026 c