5

我需要在TToolBar主窗体的右侧有两个 s,所以我放了三个TPanels 用于对齐,然后将TToolBars 放在它们里面。过去一天我一直试图告诉toolbuttons 具有相同的宽度,但无济于事。这是我所拥有的屏幕截图: 在此处输入图像描述

我发现如果ShowCaption设置为True,工具栏会自动计算按钮宽度。我的问题是为什么,以及如何禁用它?

4

2 回答 2

2

看看这种方法:

  1. 将所有按钮的 Autosize 设置为 False。
  2. 在 Form 的 OnCreate 事件中调用以下代码:SendMessage(ToolBar3.Handle,TB_SETBUTTONWIDTH, 0, MAKELPARAM(0, <DEFAULT_WIDTH_THAT_YOU_WANT_TO_SET>));
  3. 确保在上述调用之前不要更改任何按钮的 Visible 属性——因为对于那些不可见的按钮,它将失败。
  4. 此外,确保您在 TB_SETBUTTONWIDTH 消息的使用列表中有“CommCtrl”。

更多详情:http: //zarko-gajic.iz.hr/ttoolbars-ttoolbutton-autosize-width-issues-empty-caption/

于 2015-10-07T17:12:27.213 回答
-2

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

于 2013-03-05T09:25:06.980 回答