Delphi实现Listbox中的item根据内容显示不同颜色 Delphi实现Listbox中的item根据内容显示不同颜色的方法
人气:0想了解Delphi实现Listbox中的item根据内容显示不同颜色的方法的相关内容吗,在本文为您仔细讲解Delphi实现Listbox中的item根据内容显示不同颜色的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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;
加载全部内容