在 Delphi XE2 VCL Forms Application 中,我在TCoolBar
主窗体的顶部放置了一个。我在TCoolBand
这个栏中添加了两个 s。然后我TToolBar
在这两个乐队中的每一个中插入一个。每个工具栏都有几个按钮。
问题是,当我水平调整我的表单大小时(在设计时和运行时),带的宽度会增加,无论我是让表单变大还是变小。即使我的表格变小,带子也会增长,直到第二个最终被推到视野之外。
为什么会发生这种情况,我该如何阻止它发生?
在 Delphi XE2 VCL Forms Application 中,我在TCoolBar
主窗体的顶部放置了一个。我在TCoolBand
这个栏中添加了两个 s。然后我TToolBar
在这两个乐队中的每一个中插入一个。每个工具栏都有几个按钮。
问题是,当我水平调整我的表单大小时(在设计时和运行时),带的宽度会增加,无论我是让表单变大还是变小。即使我的表格变小,带子也会增长,直到第二个最终被推到视野之外。
为什么会发生这种情况,我该如何阻止它发生?
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