Embarcadero C++ Builder XE, порядок форм и формы групп
Я создаю приложение с несколькими формами в Builder XE2, и у меня проблема с упорядочением форм.
Предположим, я создаю формы с использованием графического интерфейса пользователя IDE, например Form1 и Form2 (Form1 был создан автоматически), когда я запускаю свое приложение, Form2 всегда находится над Form1 (хотя я могу получить доступ к Form1, использовать ее элементы управления и т. Д.) Если я создаю другую форму программно, он имеет тот же приоритет, что и Form2 (я могу переключаться между ними и выводить их вперед / назад), но Form1 все еще остается сзади.
Как это исправить, не используя fsStayOnTop, чтобы каждая форма в проекте имела одинаковый приоритет? Где определяется порядок форм?
2 ответа
Проверьте исходный код файла dproj для Application.MainFormOnTaskbar:= True;
Это влияет на ZOrder основной формы (форма, определенная как Основная форма в Options...), а также заставляет его оставаться позади других форм, созданных в этом приложении.
Embarcadero скажет, что это "работает как задумано", даже если оно работает не так, как популярные приложения главной формы / немодальной дочерней формы, такие как Outlook.
Читайте о PopupMode
а также PopupParent
свойства TForm
, Похоже, ваша MainForm устанавливается как PopupParent
из ваших вторичных форм.