Как разместить компонент над TMainMenu? - PullRequest
4 голосов
/ 05 апреля 2019

Когда я добавляю, например, TPanel к форме и выравниваю ее, используя alTop, а затем добавляю TMainMenu к той же форме, позиция главного меню переопределяет позицию панели, так что главное меню остаетсясамый верхний в форме с панелью, появляющейся под ней.

Можно ли переопределить позицию TMainMenu, чтобы я мог добавить такой компонент, как панель над ней и главное меню под ней?

Альтернативы типа TActionManager и / или TToolBar не подходят из-за проблем совместимости с BiDi.

1 Ответ

3 голосов
/ 05 апреля 2019

Нет, главное меню является компонентом Windows, и его местоположение фиксировано.Это не ограничение Delphi, а ограничение работы меню с окнами в Windows.

С MSDN (выделено мной):

Только перекрывающееся или всплывающее окно может содержать строку меню;дочернее окно не может содержать его. Если окно имеет строку заголовка, система позиционирует строку меню чуть ниже нее. Панель меню всегда видна.

Если вам нужно поведение, подобное меню, в компоненте, который вы можете свободно размещать в любом месте своей формы, вам придется либо написать его самостоятельно, либо искать сторонние альтернативы.

...