【问题标题】:wxToolBar with dynamically sized buttonswxToolBar 带有动态大小的按钮
【发布时间】:2009-05-15 13:20:44
【问题描述】:

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

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

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

【问题讨论】:

    标签: wxwidgets


    【解决方案1】:

    我假设你想要这个用于 MS Windows,因为你提到了 BTNS_AUTOSIZE 样式。

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

    【讨论】:

    • 非常感谢。我想过创建降序类,但想知道是否有更简单的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 2020-10-03
    相关资源
    最近更新 更多