Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.026 c
1-1081398844
Viktor
2004-04-08 08:34
2004.04.25
Запустить InternetExplorer?


4-1077483069
Nick Denry
2004-02-22 23:51
2004.04.25
Menu а-ля Office XP. Ownerdraw.


4-1077629728
ProNix
2004-02-24 16:35
2004.04.25
Как програмно инсталлировать Сервис


8-1074526436
Sergeika
2004-01-19 18:33
2004.04.25
Как сделать градиентную прозрачность


4-1076838918
Viktor Kushnir
2004-02-15 12:55
2004.04.25
Как загрузить через CreateProcess ярлык (*.lnk)




   Наверх