Я пытаюсь предотвратить изменения дочернего элемента MDI WindowState при создании второго дочернего объекта MDI ...
У меня есть приложение, которое я разрабатываю, написанное на Delphi. Благодаря небольшому волшебству Delphi / Windows приложение имеет несколько MDI Parents и несколько MDI Children.
Я могу создать форму (дочерний элемент A1) и развернуть ее в пределах родительского элемента MDI (родительский элемент A). Я могу создать вторую форму (дочерний элемент B1) и развернуть ее во втором родительском элементе MDI (родительский элемент B). Обе формы будут мазимизированы у отдельных родителей, больных ДИ. Все идет нормально. У меня это работает.
Однако, когда я создаю второго дочернего элемента MDI (дочерний элемент A2) в первом родительском элементе MDI (родительский элемент A), WindowState (wsMaximized) первого дочернего элемента (дочерний элемент A1) изменяется при создании второго дочернего элемента (дочерний элемент A2). Я хочу, чтобы первый дочерний элемент (дочерний элемент A1) оставался максимальным, а второй дочерний элемент (дочерний элемент A2) создавался и помещался поверх первого дочернего элемента ...
Как я могу предотвратить изменение состояния первого ребенка MDI, а также создать второго ребенка MDI? Есть намеки?
ОК - Теперь я пообедал, может быть, я смогу объяснить это лучше ... вот второй взгляд ...
Описанное поведение может быть воспроизведено в простом приложении MDI (магия, которую я использовал для создания нескольких родителей MDI, не влияет на мою проблему)
Создание нового приложения форм, меняющего стиль формы на fsMdiForm
Создайте вторую форму, измените ее стиль на fsMDIChild
Создайте третью форму, измените ее стиль на fsMDIChild
Запустите приложение. Создайте вторую форму, затем разверните ее (работает как положено - максимально в MDI Parent)
При создании третьей формы открывается третья форма с состоянием окна wsNormal. Но когда создается третья форма, состояние окна второй формы изменяется - оно перестает быть максимизированным и становится wsNormal, как если бы вы нажали кнопку восстановления!
Я хочу избежать восстановления второй формы при открытии третьей формы ... (Все формы имеют начальное WindowState wsNormal ...
Любые советы приветствуются!