【问题标题】:How to make items in a FMX TListBox bold?如何使 FMX TListBox 中的项目加粗?
【发布时间】:2021-07-09 09:25:55
【问题描述】:

如何使我的 FMX TListBox 中的项目变为粗体?无论是在文档中还是在 Internet 中,我自己都找不到任何东西。

【问题讨论】:

  • 正如你所指出的,没有设置。如果可能的话,你会用它做什么?可能还有其他方法可以达到相同的效果。
  • 我只是想让 ListBox 中的文本更易于阅读。对于我来说,粗体字是更好的选择。
  • 我不使用 FMX。它是否支持所有者绘制项目?或者在每个项目内放置控件,例如将TLabelFont.Style 设置为fsBold

标签: firemonkey c++builder c++builder-10.3-rio


【解决方案1】:

您需要为有问题的 tListItem 设置两个属性。下面的第一行代码允许您设置该 ListItem 的字体属性,而不是让样式决定字体属性(如果您错过了这一步,下一步将没有影响)。第二行将 ListItem 设置为粗体(当然,其中 x 是列表中应设置为粗体的索引)

ListBox1.ListItems[x].StyledSettings:=[];
ListBox1.ListItems[x].Font.Style:=[TFontStyle.fsBold];

【讨论】:

    【解决方案2】:

    感谢 Gregg 为 delphi 提供了有效的答案,我将在此处放置 C++Builder 版本。

    我用项目计数在我的 ListBox 上创建了一个循环,它不会影响 ListBox 的加载速度(在我的情况下大约 4000 个项目),所以至少对我来说这是一个很好的解决方案。

    ListBox->ListItems[x]->StyledSettings = ListBox->ListItems[x]->StyledSettings >> TStyledSetting::Style;
    ListBox->ListItems[x]->Font->Style = ListBox->ListItems[x]->Font->Style << fsBold;
    

    【讨论】:

      【解决方案3】:

      您可以为 TListBoxItems 使用自定义主题。在 ListBox 上用鼠标右键创建一个。

      【讨论】:

      • 我应该准确地说,但我从数据库中获取要显示到 ListBox 中的项目。
      • 没关系。您创建一个单独的样式,它本身适用于所有元素。
      猜你喜欢
      • 2015-10-21
      • 2017-10-09
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 2023-01-20
      • 1970-01-01
      • 2018-08-15
      • 2020-11-13
      相关资源
      最近更新 更多