是否有一种方法可以强制BoxSizer显示其元素之间有特定间距的元素? (彼此更接近而不是更远)
我正在尝试找到一种方法来将5个StaticText元素更紧密地显示在一起,以便它们可以装在一个小面板中,但只能容纳4个元素 如果5个StaticText彼此距离较近,则显然有空间
我想我也可以将它做成带有行的单个静态文本,但是我试图将每一行都保留为一个不同的对象
答案 0 :(得分:1)
每个静态文本都有一个“最佳大小”,它遵循本机平台准则。打算进行修改时,明显的建议就是不要这样做。
但是,如果您觉得自己确实必须...
您可以获取需要适合所有面板的小面板的高度(请参见GetSize
),将其除以5,然后将每个静态文本的高度设置为结果,即aStaticText->SetSize(-1, smallPanelHeight/5);
另一种方法是为每个静态文本设置一个较小的字体,并使其相应地调整其“最佳大小”。在确定哪种字体最适合您之前,您可能需要尝试几种字体大小。
答案 1 :(得分:0)
我想那是不可能的。布局引擎考虑了最大的字符串大小以及较小的边距,因此可以清楚地看到它。
您可以尝试通过AddSpacer传递负值来在字符串之间添加固定的空格。这是我未经测试的肮脏技巧。