有没有办法强制 BoxSizer 以特定间隙显示其元素?(彼此靠近而不是更远)
我正在尝试找到一种方法将 5 个 StaticText 元素更紧密地显示在一起,以便它们适合一个小面板,但只能适合 4 个元素如果它们彼此靠近,显然有 5 个 StaticTexts 的空间
我想我也可以把它变成一个带有线条的静态文本,但我试图将每一行作为一个不同的对象
有没有办法强制 BoxSizer 以特定间隙显示其元素?(彼此靠近而不是更远)
我正在尝试找到一种方法将 5 个 StaticText 元素更紧密地显示在一起,以便它们适合一个小面板,但只能适合 4 个元素如果它们彼此靠近,显然有 5 个 StaticTexts 的空间
我想我也可以把它变成一个带有线条的静态文本,但我试图将每一行作为一个不同的对象
每个静态文本都有一个遵循本机平台准则的“最佳大小”。打算修改时,明显的建议是不要这样做。
但如果你觉得你真的必须...
您可以获得GetSize
需要适合所有这些的小面板的高度(参见 ),将其除以 5 并将每个静态文本的高度设置为结果,即aStaticText->SetSize(-1, smallPanelHeight/5);
另一种方法是为每个静态文本设置一个较小的字体,并让它相应地调整其“最佳大小”。在决定哪种字体最适合您之前,您可能需要尝试几种字体大小。
我想这是不可能的。布局引擎考虑了最大的字符串大小,加上一个小的边距,以便可以清楚地看到。
您可以尝试通过AddSpacer传递负值在字符串之间添加固定空格。这是一个我没有测试过的肮脏的黑客。