【问题标题】:Delphi cannot change listbox item text sizeDelphi 无法更改列表框项目的文本大小
【发布时间】:2017-04-20 21:38:08
【问题描述】:

我的表单中有一个 TListBox,我正在像这样在运行时添加项目:

ListBox1.Clear;

//don't care about sol, it is a dynamic array with a size between 1 and 6
ListBox1.BeginUpdate;
 for i := Low(sol) to High(sol) do
  begin

   tmp := TListBoxItem.Create(ListBox1);
   tmp.Parent := ListBox1;
   tmp.Selectable := false;
   tmp.TextSettings.Font.Size := 30; //problem here, it doesn't change the text size
   tmp.Text := 'some text';

  end;
 ListBox1.EndUpdate;

这里的tmp 变量是TListBoxItem。一切正常,因为我看到当我按下按钮时,列表框被添加到 TListBox 中。

问题是我无法更改文本大小。任何的想法? 我认为我可能必须将 tmp 的 StyledSettings 设置为 false,但我无法做到。

【问题讨论】:

  • 您的意思是您找不到Height 属性,或者当您更改它时没有任何反应?另外,哪个版本的Delphi?这从至少 Delphi XE8、AFAIK 开始就可用,但如果您使用的是旧版本,它可能还没有实现。
  • 德尔福西雅图在这里。我需要在 tlistbox 中使用更大的文本字体
  • 好的,你的问题不是问字体大小。您只是在说“项目大小”。字体大小在风格上,完全不同的地方。您将不得不编辑样式而不是控件。

标签: delphi listbox firemonkey


【解决方案1】:

在阅读了您的问题和问题上的 cmets 后,您似乎正在尝试设置您创建的 ListBoxItem 的字体大小 - 而不是 ListBoxItem 本身的大小。那么您能否编辑您的问题(标题)以反映这一点?

您的问题的答案确实是更改 ListBoxItem 的 StyledSetting 属性 - 像这样:

tmp.TextSettings.Font.Size := 30;
tmp.StyledSettings:=[TStyledSetting.Family,TStyledSetting.Style,TStyledSetting.FontColor,TStyledSetting.Other];

你会注意到我已经从StyledSettingsListBoxItem 中取出了TStyledSetting.Size。另请注意,您还必须以编程方式处理 ListBoxItem 的高度。

【讨论】:

    猜你喜欢
    • 2014-09-16
    • 2013-07-06
    • 2013-02-15
    • 1970-01-01
    • 2014-12-09
    • 2020-04-14
    • 2014-09-20
    • 1970-01-01
    相关资源
    最近更新 更多