[示例] 用代码设置 ListView 颜色 只适用 Win 平台,无需修改官方源码

如果可以使用代码随意设置 ListView 的颜色,而不用加载额外的 Style 及修改官方的源码,那该有多好?!其实 Style 提供了很强了扩充性及可塑性,可以很容易的去操作它。

下面以 ListView 为例,用代码设置它的 ItemBackgroud 颜色(其它的控件基本上也能用相同的方法来设置):

Sender = ListView1 = c := o1 :</span>= TStyleManager.ActiveStyleForScene(Screen.ActiveForm <span style="color: #0000ff"&gt;as</span> IScene).FindStyleResource(<span style="color: #800000"&gt;'</span><span style="color: #800000"&gt;listviewstyle</span><span style="color: #800000"&gt;'</span><span style="color: #000000"&gt;); o2 :</span>= o1.FindStyleResource(<span style="color: #800000"&gt;'</span><span style="color: #800000"&gt;itembackground</span><span style="color: #800000"&gt;'</span><span style="color: #000000"&gt;); </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt; 需要判断第一次才设置颜色,否则会影响效能</span> <span style="color: #0000ff"&gt;if</span> (o2 <span style="color: #0000ff"&gt;is</span> TColorObject) <span style="color: #0000ff"&gt;and</span> (TColorObject(o2).Color <> c) <span style="color: #0000ff"&gt;then</span> <span style="color: #0000ff"&gt;begin</span><span style="color: #000000"&gt; TColorObject(o2).Color :</span>=<span style="color: #000000"&gt; c; TListView(Sender).NeedStyleLookup; </span><span style="color: #0000ff"&gt;end</span><span style="color: #000000"&gt;;

<span style="color: #0000ff">end;

示例下载:

效果:

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...