调整大小时,TCoolBar乐队的成长

时间:2013-03-31 16:18:16

标签: delphi delphi-xe2 vcl window-resize

在Delphi XE2 VCL表单应用程序中,我在主表单的顶部放置了TCoolBar。我在这个栏中添加了两个TCoolBand。然后我在这两个乐队的每一个中插入TToolBar。每个工具栏都有几个按钮。

问题是,当我水平调整表格时(无论是在设计时还是在运行时),无论我是否使表格更大或更小,乐队的宽度都会增加。即使在使我的形状变小时,乐队也会成长,直到第二个乐队最终被推出视野。

为什么会发生这种情况,如何阻止它发生?

1 个答案:

答案 0 :(得分:3)

AFAIK,唯一的解决方案(感谢Ludek Stauber)是修补Vcl.ComCtrls.pas。在方法TCoolBar.GetCaptionSize的末尾添加两行来处理IE6和更新版本:

  { The grip size in IE4 is 3 pixels narrower than IE3 }
  if GetComCtlVersion < ComCtlVersionIE4 then
    Inc(Result, GripSizeIE3)
  // begin handle IE6
  else if GetComCtlVersion >= $0006000A {ComCtlVersionIE610} then
    Inc(Result, 4 {GripSizeIE610})
  // end handle IE6
  else