我需要在主窗体的右侧有两个TToolBar,所以我放了三个TPanel用于对齐,然后把TToolBar放进去。在过去的一天里,我一直试图告诉toolbutton具有相同的宽度,但没有用。下面是我得到的屏幕截图:
TToolBar
TPanel
toolbutton
我发现如果ShowCaption被设置为True,则按钮会自动计算按钮宽度。我的问题是为什么,以及如何禁用此功能?
ShowCaption
True
wmomyfyw1#
看看这个方法:1.将所有按钮的自动调整大小设置为False。1.在Form的OnCreate事件中调用以下内容:SendMessage(ToolBar3.Handle,TB_SETBUTTONWIDTH, 0, MAKELPARAM(0, <DEFAULT_WIDTH_THAT_YOU_WANT_TO_SET>));1.确保在上述调用之前没有更改任何按钮的Visible属性-因为它会对那些不可见的按钮失败。1.此外,确保在TB_SETBUTTONWIDTH消息的使用列表中有“CommCtrl”。更多详情:http://zarko-gajic.iz.hr/ttoolbars-ttoolbutton-autosize-width-issues-empty-caption/
SendMessage(ToolBar3.Handle,TB_SETBUTTONWIDTH, 0, MAKELPARAM(0, <DEFAULT_WIDTH_THAT_YOU_WANT_TO_SET>));
vltsax252#
按钮的宽度根据TtoolButton最长标题的文本宽度计算
kb5ga3dv3#
你可以使用对象检查器来设置按钮宽度的静态值,或者你可以使用formcreate或onpaint或onresize等来动态设置值........
3条答案
按热度按时间wmomyfyw1#
看看这个方法:
1.将所有按钮的自动调整大小设置为False。
1.在Form的OnCreate事件中调用以下内容:
SendMessage(ToolBar3.Handle,TB_SETBUTTONWIDTH, 0, MAKELPARAM(0, <DEFAULT_WIDTH_THAT_YOU_WANT_TO_SET>));
1.确保在上述调用之前没有更改任何按钮的Visible属性-因为它会对那些不可见的按钮失败。
1.此外,确保在TB_SETBUTTONWIDTH消息的使用列表中有“CommCtrl”。
更多详情:http://zarko-gajic.iz.hr/ttoolbars-ttoolbutton-autosize-width-issues-empty-caption/
vltsax252#
按钮的宽度根据TtoolButton最长标题的文本宽度计算
kb5ga3dv3#
你可以使用对象检查器来设置按钮宽度的静态值,或者你可以使用formcreate或onpaint或onresize等来动态设置值........