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 из ваших вторичных форм.

Другие вопросы по тегам