我的应用程序(仅限Microsoft Windows)正在使用设置了wxTB_HORIZONTAL|wxTB_TEXT|wxTB_HORZ_LAYOUT
标志的wxToolBar。它的所有按钮/工具都具有相同的宽度,这是基于最长的文本。
我想要具有不同宽度的按钮,具体取决于工具标签的长度,就像Windows本机工具栏按钮(使用BTNS_AUTOSIZE
样式创建)一样。
有没有办法让wxToolBar具有动态计算宽度的按钮?
答案 0 :(得分:3)
我认为你想要这个用于MS Windows,因为你提到 BTNS_AUTOSIZE 风格。
使用 wxToolBar 样式或 AddTool()的参数无法执行此操作。我尝试过使用wxMSW,实现自动调整大小按钮(我能找到)的唯一方法是更改 src / msw / tbar95中的 wxToolBar :: Realize()方法。 cpp (wxWidgets trunk中的 src / msw / toolbar.cpp )在添加按钮的位置添加 BTNS_AUTOSIZE 样式。这是一个虚方法,因此您可以随时创建自己的降序工具栏类,复制 Realize()方法并进行更改。