代码之家  ›  专栏  ›  技术社区  ›  Jerry Dodge

调整窗体大小时TCoolBar带增长

  •  2
  • Jerry Dodge  · 技术社区  · 13 年前

    在Delphi XE2 VCL Forms应用程序中,我放置了一个 TCoolBar 在我的主表格的顶部。我加了两个 TCoolBand s到这个酒吧。然后我插入了 TToolBar 进入这两个波段中的每一个波段。每个工具栏都有几个按钮。

    问题是,当我水平调整表单大小时(无论是在设计时还是在运行时),无论我是将表单变大还是变小,条带的宽度都会增加。即使在缩小我的体型时,条纹也会增长,直到第二个最终被挤出视野。

    为什么会发生这种情况?我该如何阻止这种情况的发生?

    1 回复  |  直到 13 年前
        1
  •  3
  •   Uwe Raabe    13 年前

    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