Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
894
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Несколько форм Delphi приложений и диалоговых окон
У меня есть приложение Delphi 7, которое имеет два вида документа (например, редактирование WYSIWYG HTML может иметь вид WYSIWYG и исходный вид-не мое реальное приложение). Они могут быть открыты в отдельном windows или закреплены на вкладках в главном окне.
Если я открываю модальный диалог из одной из отдельных форм, основная форма выводится на передний план и отображается как выбранное окно на панели задач windows. Предположим, что основная форма-это представление WYSIWYG,а исходное представление выводится наружу. Вы переходите к определенной точке в исходном виде и вставляете тег изображения. Появится диалоговое окно, позволяющее выбрать и ввести нужные свойства изображения. Если вид WYSIWYG и исходный вид перекрываются, то вид WYSIWYG будет выведен на передний план, а исходный вид будет скрыт. Как только диалоговое окно будет закрыто, исходный вид снова появится в поле зрения.
Я попытался установить владельца и свойства ParentWindow в форму, с которой он связан:
dialog := TDialogForm.Create( parentForm );
dialog.ParentWindow := parentForm.Handle;
Как я могу исправить эту проблему? А что еще я должен попробовать?
Учитывая, что люди, похоже, спотыкаются на моем примере, возможно, я могу попробовать с лучшим примером: текстовый редактор, который позволяет вам иметь несколько открытых файлов одновременно. Файлы, которые вы открыли, находятся либо во вкладках (например, в Delphi IDE), либо в собственном окне. Предположим, что пользователь открывает диалоговое окно проверки орфографии или диалог поиска. Что происходит, так это то, что если файл редактируется в своем собственном окне, то это окно отправляется ниже основной формы в z-порядке при отображении модального диалога; как только диалоговое окно закрывается, оно возвращается к своему исходному z-порядку.
Примечание: Если вы используете Delphi 7 и ищете решение этой проблемы, смотрите мой ответ ниже на странице, чтобы увидеть, что я в итоге сделал.
В конечном итоге я нашел ответ , используя Google Groups. В двух словах, все модальные диалоги должны иметь следующие добавленные к ним:
procedure TDialogForm.CreateParams(var Params: TCreateParams); begin inherited; Params.Style := Params.Style or WS_POPUP; Params.WndParent := (Owner as TWinControl).Handle; end;
Я предполагаю, что это эквивалентно ответам Ларса и Мариуса в Delphi7.
Прежде всего, я не совсем уверен, что понимаю, вам, возможно, потребуется предоставить некоторые дополнительные детали, чтобы помочь нам понять, что происходит и в чем проблема. Наверное, я не совсем понимаю, что именно вы пытаетесь сделать и в чем проблема.
Во-вторых, вам не нужно устанавливать родительский элемент диалогового окна, поскольку именно это происходит с вызовом Create (передача родительского элемента). Диалоги, которые вы описываете, звучат так, как будто они могут немного использовать "re-thinking", чтобы быть честными. Является ли этот диалог для ввода свойств изображения дочерним элементом исходного окна или окна WYSIWYG?
Я не уверен, что вполне понимаю, к чему вы клоните, но вот несколько вещей, которые я могу предложить вам попробовать...
- Это поведение изменяется между различными версиями Delphi. Я бы предположил, что это связано с обручами, через которые они перескочили, чтобы поддержать Windows Vista в Delphi 2007.
- Если вы используете Delphi 2007, попробуйте удалить строку из исходного файла проекта, которая задает логическую переменную Application.MainFormOnTaskBar.
- С этим удалением вы должны быть в состоянии использовать различные методы BringToFront / SendToBack формы для достижения Z-порядка, который вы ищете.
Я подозреваю, что то, что вы обнаружили, было обсуждено по этой ссылке , конечно, я, возможно, просто полностью пропустил вашу точку зрения, поэтому заранее прошу прощения!