TbsSeparator中的Delphi TToolBar多余垂直条

时间:2014-08-22 14:46:38

标签: delphi delphi-xe6

我在Windows 2012 R2上使用Delphi XE6,并尝试使用工具栏创建应用程序。然而,我遇到了编译应用程序的问题,在我可能添加的任何分隔符的左侧有一个垂直多余的条。

This QuestionThis Other Question中都描述了此问题,但我并未尝试使用任何其他花哨的控件 - 我只使用“新建按钮”和“新分隔符”来添加项目。尽管如此,我仍然尝试了建议的修复无效。

我的示例应用程序已创建如下:

  1. 新的VCL表格申请
  2. 添加TToolBar
  3. 选择ToolBar1
  4. 右键单击,选择“新按钮”
  5. 右键单击,选择“新按钮”
  6. 右键单击,选择“新分隔符”
  7. 右键单击,选择“新按钮”
  8. 运行
  9. 这就是应用程序的样子

    Superfluous Bar

    我尝试更改TToolBar本身的每个可能适用的属性(包括将Transparent设置为False),以及ToolBar3(设置为tbsSeparator),但我似乎无法摆脱这个垂直条。我也尝试在表单中添加TXPManifest,但这没有任何区别。

    唯一确实有所作为的是,如果我将Separator Visible属性设置为False - 该行消失,但Separator也是如此,所以这不是任何帮助。

    我遇到的问题也在This thread中描述,我可以向读者保证我没有对分隔符的宽度进行任何更改 - 这都是默认值。

    有人对我如何解决这个问题有任何建议吗?

    对于它的价值 - 我的Delphi表格是这样的 - 你可以看到我没有使用除支持的控制之外的任何花哨的控件:

    object Form1: TForm1
      Left = 0
      Top = 0
      Caption = 'Form1'
      ClientHeight = 112
      ClientWidth = 382
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      PixelsPerInch = 96
      TextHeight = 13
      object ToolBar1: TToolBar
        Left = 0
        Top = 0
        Width = 382
        Height = 29
        Caption = 'ToolBar1'
        TabOrder = 0
        Transparent = False
        object ToolButton1: TToolButton
          Left = 0
          Top = 0
          Caption = 'ToolButton1'
          ImageIndex = 0
        end
        object ToolButton2: TToolButton
          Left = 23
          Top = 0
          Caption = 'ToolButton2'
          ImageIndex = 1
        end
        object ToolButton3: TToolButton
          Left = 46
          Top = 0
          Width = 8
          Caption = 'ToolButton3'
          ImageIndex = 2
          Style = tbsSeparator
        end
        object ToolButton4: TToolButton
          Left = 54
          Top = 0
          Caption = 'ToolButton4'
          ImageIndex = 3
        end
      end
      object XPManifest1: TXPManifest
        Left = 40
        Top = 48
      end
    end
    

1 个答案:

答案 0 :(得分:0)

由于TToolbar是Microsoft Windows Rebar32 Control的包装器,它看起来与普通的Windows应用程序完全相同。 为什么不删除这些分隔符,以便您再也看不到它们了。