Delphi完成Listbox中的item依據內容顯示不同顏色的辦法。本站提示廣大學習愛好者:(Delphi完成Listbox中的item依據內容顯示不同顏色的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是Delphi完成Listbox中的item依據內容顯示不同顏色的辦法正文
本文簡述了Delphi完成Listbox中的item依據內容顯示不同顏色的辦法,完成步驟如下:
ListBox1 的 Style 屬性改為 lbOwnerDrawVariable
在ListBox的OnDrawItem事情裡,依據item的值,改動Canvas屬性
示例代碼如下:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin //字體用原來默許的顏色 if Odd(index) then //當items的index為奇數時的顏色 begin listbox1.Canvas.Brush.Color:=clwindow; ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]); end else //當items的index為偶數時的顏色 begin listbox1.Canvas.Brush.Color:=clinactivecaptiontext; ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]); end; if odSelected in state then //中選定時的顏色 begin listbox1.Canvas.Brush.Color:=clhighlight; ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]); end; end;