让 ComboBox 的每个栏目显示不同颜色

在一般的应用程式中,使用 ComboBox 提供下拉选单的功能,让使用者选择不同项目,一般而言, ComboBox 的项目没有什么特别的,但在特定的应用程式中,有时候会希望每个项目有一些效果呈现,例如:

  • 每个项目都能有个 icon 对应
  • 每个项目的文字颜色可以不一样

第一个需求,FireMonkey的 TComboBox已经帮我们透过 images (TImagelist) 提供了,所以在本篇文章里面不讨论。

第二个需求,则需要加一些程式码跟设定来完成:

1.     先把 ComboBox 的 DropDownKind 设定成 Custom.

2.     把 ComboBox 里面的每个字串设定为不同的颜色, 加入以下程式码, 可以把第一个项目设定成红色, 第二个项目设定成蓝色.

   ComboBox1.ListBox.ListItems[0].TextSettings.FontColor := TAlphaColorRec.Red;

   ComboBox1.ListBox.ListItems[0].StyledSettings := ComboBox1.ListBox.ListItems

       [0].StyledSettings – [TStyledSetting.ssFontColor];

   ComboBox1.ListBox.ListItems[1].TextSettings.FontColor := TAlphaColorRec.Blue;

   ComboBox1.ListBox.ListItems[1].StyledSettings := ComboBox1.ListBox.ListItems

       [1].StyledSettings – [TStyledSetting.ssFontColor];

设定画面如下图:

 

执行结果如图:

 

这样就完成了,分享给大家.

猜你喜欢

转载自www.cnblogs.com/dennieschang/p/9203575.html