Delphi TToolBar Лишняя вертикальная полоса в tbsSeparator

Я использую Delphi XE6 поверх Windows 2012 R2 и пытаюсь создавать приложения с панелями инструментов. Однако у меня возникают проблемы с скомпилированным приложением, имеющим вертикальную лишнюю полосу слева от любых разделителей, которые я могу добавить.

Эта проблема описана в заголовке Этот вопрос и Этот другой вопрос, однако я не пытаюсь использовать какие-либо другие причудливые элементы управления — я использую исключительно «Новую кнопку» и «Новый разделитель» для добавления элементов. Тем не менее я пробовал предложенные исправления безрезультатно.

Мой образец приложения был создан следующим образом:

  1. Новое приложение VCL Forms
  2. Добавить TToolBar
  3. Выберите панель инструментов1
  4. Щелкните правой кнопкой мыши, выберите «Новая кнопка».
  5. Щелкните правой кнопкой мыши, выберите «Новая кнопка».
  6. Щелкните правой кнопкой мыши, выберите «Новый разделитель».
  7. Щелкните правой кнопкой мыши, выберите «Новая кнопка».
  8. Бегать

Вот так выглядит приложение

Лишний бар

Я попытался изменить каждое потенциально применимое свойство самого TToolBar (включая настройку Transparent на False), а также ToolBar3 (для которого установлено значение tbsSeparator), но я не могу избавиться от этой вертикальной полосы. Я также пытался добавить в форму TXPManifest, но это ничего не изменило.

Единственное, что, кажется, имеет значение, это если я установлю для свойства Separator Visible значение False - строка исчезнет, ​​но разделитель тоже, так что это не поможет.

Проблема, с которой я столкнулся, также описана в Эта ветка, и я могу заверить читателей, что я не вносил никаких изменений в ширину разделителя - все по умолчанию.

Есть ли у кого-нибудь предложения о том, как я могу это исправить?

Что бы это ни стоило - моя форма 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

person KeyszerS    schedule 22.08.2014    source источник
comment
Добавление другого манифеста не поможет. Одного достаточно. Хотя этот вопрос является обманом. Тот факт, что нет чистого решения, не означает, что вы можете задать вопрос снова. Я задал исходный вопрос. Я был бы рад, если бы было чистое решение. Но нет. Повторный запрос не изменит эту реальность. Тематический разделитель имеет вертикальную черту, выровненную по левому краю. Это неизбежно. Это заключение другой темы.   -  person David Heffernan    schedule 22.08.2014
comment
Спасибо за ваш комментарий. Я не нашел ваш предыдущий вопрос, и я много искал в Интернете. Однако я думаю, что у меня может быть решение для нас обоих. Используя ActionToolBars (и, конечно же, диспетчер действий, который я всегда использую), вы можете создавать панели инструментов со значками с подписями, значками без надписей и разделителями, чтобы группировать значки без возникновения дополнительной проблемы с вертикальной полосой.   -  person KeyszerS    schedule 22.08.2014
comment
Извините, я просто предположил, что один из ваших связанных вопросов был моим.   -  person David Heffernan    schedule 22.08.2014


Ответы (1)


Поскольку TToolbar является оболочкой Microsoft Windows Rebar32 Control, он выглядит точно так же, как обычное приложение Windows. Почему бы не удалить эти разделители, чтобы вы их больше не видели.

person stanleyxu2005    schedule 22.08.2014