程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> [示例] 用代碼設置 ListView 顏色 (只適用 Win 平台,無需修改官方源碼),listviewwin

[示例] 用代碼設置 ListView 顏色 (只適用 Win 平台,無需修改官方源碼),listviewwin

編輯:Delphi

[示例] 用代碼設置 ListView 顏色 (只適用 Win 平台,無需修改官方源碼),listviewwin


如果可以使用代碼隨意設置 ListView 的顏色,而不用加載額外的 Style 及修改官方的源碼,那該有多好?! 其實 Style 提供了很強了擴充性及可塑性,可以很容易的去操作它。

下面以 ListView 為例,用代碼設置它的 ItemBackgroud 顏色(其它的控件基本上也能用相同的方法來設置):

procedure TForm1.ListView1ApplyStyleLookup(Sender: TObject);
var o1: TFmxObject;
    o2: TFmxObject;
    c: TAlphaColor;
begin
     if Sender = ListView1 then
          c := TAlphaColorRec.Lightyellow
     else c := TAlphaColorRec.Mistyrose;

     o1 := TStyleManager.ActiveStyleForScene(Screen.ActiveForm as IScene).FindStyleResource('listviewstyle');
     o2 := o1.FindStyleResource('itembackground');

     // 需要判斷第一次才設置顏色,否則會影響效能
     if (o2 is TColorObject) and (TColorObject(o2).Color <> c) then
     begin
          TColorObject(o2).Color := c;
          TListView(Sender).NeedStyleLookup;
     end;
end;

注意:此方法僅適用 Windows 平台,移動平台還是乖乖的用 Style 吧!

 

示例下載:[示例]用代碼設置ListView顏色_Aone.zip

 

效果:(多個 ListView 可以各別設置不同顏色)

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved