在运行时更改列表框项目字体颜色

用户2756684

我试图在运行时更改 ListBoxItem 的字体颜色。通过使用 FontColor 属性,我可以在设计时毫无问题地更改颜色,但我需要在运行时更改字体颜色。下面的例子没有改变字体颜色。

var
    ListBoxItem : TListboxItem;
begin
    ListBoxItem := TlistBoxItem.Create(ListBox1);

    ListBoxItem.Text := Edit1.Text;
    ListBoxItem.ItemData.Detail := Edit2.Text;
    ListBoxItem.StyleLookup := 'listboxitembottomdetail';
    ListBoxItem.TextSettings.FontColor := TAlphaColorRec.Blue;
    ListBoxItem.Height := 34;
    ListBox1.AddObject(ListBoxitem);

end;

上面的代码应该使用定义的颜色向 ListBox1 添加一个项目,但它只是添加了具有默认字体颜色的项目。

用户5150422

以下针对 Delphi 10.1 Berlin 进行测试

为了更改正常和详细字体颜色,您可以使用StyleLookup具有自己自定义样式属性。

在设计时在主窗体中创建一个TListBox并添加一个TListBoxItem. 转到TListBoxItem的属性并将 设置StyleLookup为 listboxitembottomdetail。在此之后右键单击TListBoxItem并选择Edit custom style...

现在在样式设计器中打开树ListBoxItem1Style1您将在此处找到文本和详细信息项目。可以将字体颜色调整为您想要的任何颜色。确保保存。

然后在添加样式后,您可以将代码调整为如下所示:

var
    ListBoxItem : TListboxItem;
begin
    ListBoxItem := TListBoxItem.Create(ListBox1);
    ListBoxItem.Text := Edit1.Text;
    ListBoxItem.ItemData.Detail := Edit2.Text;
    ListBoxItem.StyleLookup := 'ListBoxItem1Style1';
    ListBoxItem.Height := 34;
    ListBox1.AddObject(ListBoxitem);
end;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章