wxToolBar具有动态大小的按钮

时间:2009-05-15 13:20:45

标签: wxwidgets

我的应用程序(仅限Microsoft Windows)正在使用设置了wxTB_HORIZONTAL|wxTB_TEXT|wxTB_HORZ_LAYOUT标志的wxToolBar。它的所有按钮/工具都具有相同的宽度,这是基于最长的文本。

我想要具有不同宽度的按钮,具体取决于工具标签的长度,就像Windows本机工具栏按钮(使用BTNS_AUTOSIZE样式创建)一样。

有没有办法让wxToolBar具有动态计算宽度的按钮?

1 个答案:

答案 0 :(得分:3)

我认为你想要这个用于MS Windows,因为你提到 BTNS_AUTOSIZE 风格。

使用 wxToolBar 样式或 AddTool()的参数无法执行此操作。我尝试过使用wxMSW,实现自动调整大小按钮(我能找到)的唯一方法是更改​​ src / msw / tbar95中的 wxToolBar :: Realize()方法。 cpp (wxWidgets trunk中的 src / msw / toolbar.cpp )在添加按钮的位置添加 BTNS_AUTOSIZE 样式。这是一个虚方法,因此您可以随时创建自己的降序工具栏类,复制 Realize()方法并进行更改。