首页 > 编程 > Delphi > 正文

Delphi实现Listbox中的item根据内容显示不同颜色的方法

2020-01-31 20:51:27
字体:
来源:转载
供稿:网友

本文简述了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;
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选