全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2551
推到 Plurk!
推到 Facebook!

ListView怎样改变每行的字体和颜色?谢谢

答題得分者是:Vicen
9108
一般會員


發表:5
回覆:1
積分:1
註冊:2005-05-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-25 08:50:36 IP:221.226.xxx.xxx 未訂閱
ListView怎样改变每行的字体和颜色?谢谢
Vicen
高階會員


發表:13
回覆:145
積分:151
註冊:2005-03-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-25 09:13:43 IP:221.226.xxx.xxx 未訂閱
在ListView控件的AdvancedCustomDrawItem事件里做,可以改字体、大小、颜色、样式,还可以改底色。    下面是个例子给你,看看对你有没用处。
procedure ListViewAdvancedCustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
  var DefaultDraw: Boolean);
Begin
  //这里可以根据条件来设定每行的字体和颜色,至于什么条件就自己决定了。
  //比如根据项目的图标来判断(我举个例子而已)
  Case Item.ImageIndex Of
    0://图标索引为0的项目
      begin
        //字体为红色
              ListView.Canvas.Font.Color := ClRed;
              //大小为10号字
              ListView.Canvas.Font.Size  := 10;
              //粗体
              ListView.Canvas.Font.Style := [fsBold];
              //背景色为黄色
              ListView.Canvas.Brush.Color := clYellow;
      end;
    1://图标索引为1的项目
      begin
        //字体为蓝色
              ListView.Canvas.Font.Color := ClBlue;
              //大小为9号字
              ListView.Canvas.Font.Size  := 9;
              //普通体
              ListView.Canvas.Font.Style := [];
              //背景色为黄色
              ListView.Canvas.Brush.Color := clWhite;      
      end;
  End;
End;    
当然你还可以去根据每列的内容等进行判断,祝你好运。
9108
一般會員


發表:5
回覆:1
積分:1
註冊:2005-05-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-25 09:29:35 IP:221.226.xxx.xxx 未訂閱
Very Very Very Thx Vicen.
系統時間:2024-05-07 10:19:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!