2013-03-05 60 views
5

我需要在主窗体的右侧有两个TToolBar s,所以我把三个TPanel作为对齐,然后把TToolBar放在里面。我一直试图告诉toolbutton s在过去一天有相同的宽度,但无济于事。下面是我的本钱屏幕截图: enter image description here当ShowCaption设置为True时,为什么TToolBar会自动计算按钮宽度?

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

回答

-2

您可以使用对象检查器来设置按钮的宽度与静态值,也可以使用FORMCREATE或OnPaint中或在onResize等动态设置值........

+0

'ButtonWidth'恢复取值为TToolBar'计算 – 2013-03-05 09:26:37

+0

buttonwidth是ttoolbar ...... – 2013-03-05 09:33:39

+0

的我知道属性。我不能设置它,因为它恢复到工具栏已经计算出来的值 – 2013-03-05 09:38:27

2

看看这个方法:

  1. 将所有按钮的自动调整大小设置为False。
  2. 调用方式的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/

相关问题