龙振湘 發表於 2014-7-17 10:30:42

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

<p>本文简述了Delphi实现Listbox中的item根据内容显示不同颜色的方法,实现步骤如下:</p>
<p><span style="color: #0000ff">ListBox1 的 Style 属性改为 lbOwnerDrawVariable</span></p>
<p><span style="color: #0000ff">在ListBox的OnDrawItem事件裡,根据item的值,改变Canvas属性</span></p>
<p>示例代码如下:</p>
<div class="jb51code">
<pre class="brush:delphi;">
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);
end
else   //当items的index为偶数时的颜色
begin
listbox1.Canvas.Brush.Color:=clinactivecaptiontext;
ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items);
end;
ifodSelectedinstatethen    //当选定时的颜色
begin
listbox1.Canvas.Brush.Color:=clhighlight;
ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items);
end;
end;
</pre>
</div>
                           
                            <div class="art_xg">
                              <b>您可能感兴趣的文章:</b><ul><li>delphi实现保存和读取图片的方法</li><li>Delphi远程连接Mysql的实现方法</li><li>Delphi创建开机启动项的方法示例</li><li>Delphi实现木马自我拷贝方法</li><li>Delphi实现窗口文字淡入淡出渐变效果的方法</li><li>Delphi实现获取磁盘空间大小的方法</li><li>Delphi中对时间操作方法汇总</li><li>Delphi控件ListView的属性及使用方法详解</li><li>delphi7连接mysql5的实现方法</li><li>Delphi7中群发Email邮件的方法</li></ul>
                            </div>

                        </div>
                        <!--endmain-->
頁: [1]
查看完整版本: Delphi实现Listbox中的item根据内容显示不同颜色的方法