У меня есть приложение Delphi 7, которое имеет два представления документа (например, редактирование HTML WYSIWYG может иметь представление WYSIWYG и представление источника - не мое настоящее приложение). Они могут быть открыты в отдельных окнах или состыкованы с вкладками в главном окне.Несколько приложений и диалогов Delphi
Если я открываю модальное диалоговое окно из одной из отдельных форм, основная форма выводится на передний план и отображается как выбранное окно на панели задач Windows. Скажем, основная форма - это вид WYSIWYG, и открывается исходный вид. Вы переходите к определенной точке в исходном представлении и вставляете тег изображения. Появится диалоговое окно, позволяющее вам выбрать и ввести свойства, которые вы хотите для изображения. Если вид WYSIWYG и исходный вид перекрываются, вид WYSIWYG будет перенесен на передний план, а вид источника будет скрыт. Когда диалог отклоняется, исходный вид возвращается в поле зрения.
Я попытался установить владельца и свойства ParentWindow в форме это связано с:
dialog := TDialogForm.Create(parentForm);
dialog.ParentWindow := parentForm.Handle;
Как я могу исправить эту проблему? Что еще я должен попробовать?
Учитывая, что люди, кажется, спотыкаются о моем примере, возможно, я могу попробовать с лучшим примером: текстовый редактор, который позволяет одновременно открывать более одного файла. Открытые файлы находятся либо в виде вкладок (например, в среде Delphi IDE), либо в отдельном окне. Предположим, что пользователь открывает диалог проверки орфографии или диалог поиска. Что происходит, это то, что если файл редактируется в своем собственном окне, это окно отправляется ниже основной формы в z-порядке, когда отображается модальное диалоговое окно; как только диалог закрыт, он возвращается к исходному z-порядку.
Примечание: Если вы используете решение Delphi 7 и ищете решение этой проблемы, см. Мой ответ ниже на странице, чтобы узнать, что я сделал.
Это просто решил для меня давнюю проблему. Спасибо. – 2014-07-10 11:08:52