delphi 为什么当ShowCaption设置为True时,TToolBar会自动计算按钮宽度?

vqlkdk9b  于 12个月前  发布在  其他
关注(0)|答案(3)|浏览(82)

我需要在主窗体的右侧有两个TToolBar,所以我放了三个TPanel用于对齐,然后把TToolBar放进去。在过去的一天里,我一直试图告诉toolbutton具有相同的宽度,但没有用。下面是我得到的屏幕截图:

我发现如果ShowCaption被设置为True,则按钮会自动计算按钮宽度。我的问题是为什么,以及如何禁用此功能?

wmomyfyw

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/

vltsax25

vltsax252#

按钮的宽度根据TtoolButton最长标题的文本宽度计算

kb5ga3dv

kb5ga3dv3#

你可以使用对象检查器来设置按钮宽度的静态值,或者你可以使用formcreate或onpaint或onresize等来动态设置值........

相关问题