Здравствуйте!
Есть одна проблема. При вызове MDIChild из DLL, и разворачивании его на всю материнскую форму (Maximize) теряются системные кнопки (Close, Maximize, Minimize) . Но если MDIChild вызывается НЕ из DLL, то всё ок.
Не подскажете, как избавить MDIChild из DLL от таких глюков?
Re: MDI Child
От:
Аноним
Дата:
01.03.04 16:12
Оценка:
Здравствуйте, cahbi7, Вы писали:
C>Здравствуйте! C>Есть одна проблема. При вызове MDIChild из DLL, и разворачивании его на всю материнскую форму (Maximize) теряются системные кнопки (Close, Maximize, Minimize) . Но если MDIChild вызывается НЕ из DLL, то всё ок. C>Не подскажете, как избавить MDIChild из DLL от таких глюков?
Как победить не знаю, но дело здесь не только в DLL.
Например у меня такое было когда я максимизировал одно окно,
и затем создавал другое.
Возможно стоит как нибудь самому рисовать эти кнопки например через DrawFrameControl.
Если на MDI Parente уже есть открытая дочерняя форма и она Maximized, то при создании новых дочерних форм (они уже по-умолчанию будут Maximized) теряются системные кнопки (Close, Maximize, Minimize).
Здравствуйте, annaS, Вы писали:
S>Может кто-нибудь нашёл всё-таки решение???
ну, некоторые программы при создании нового окна автоматом делают старому окну Restore а потом снова Maximize, что видно на медленных тачках... а ошибка в Delphi или в WinAPI?
никто не смотрел?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Здравствуйте, cahbi7, Вы писали:
C>Здравствуйте! C>Есть одна проблема. При вызове MDIChild из DLL, и разворачивании его на всю материнскую форму (Maximize) теряются системные кнопки (Close, Maximize, Minimize) . Но если MDIChild вызывается НЕ из DLL, то всё ок. C>Не подскажете, как избавить MDIChild из DLL от таких глюков?
Какая система? У меня в D7 и D2k5 такой проблемы никогда не было, всё отрисовывалось и показывалось.
Где-то на форумах видел решение подобных проблем. Основная соль проблемы — РАЗНЫЕ объекты Application в EXE и DLL. Поэтому и маршрутизация сообщений в формах, сделанных в DLL происходит необычно.
А как окна то создаются? Код, если можно...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Не восхрапи на работе, ибо храпом своим разбудишь начальника своего.
Здравствуйте, Hacker_Delphi, Вы писали:
H_D>ну, некоторые программы при создании нового окна автоматом делают старому окну Restore а потом снова Maximize, что видно на медленных тачках... а ошибка в Delphi или в WinAPI? H_D>никто не смотрел?
Похоже всё-таки проблема в WinApi (я пишу на C#).
А вот за Maximize подсказку спасибо. Вроде работает.
Здравствуйте, _spin_, Вы писали:
C>>Основная соль проблемы — РАЗНЫЕ объекты Application в EXE и DLL. Поэтому и маршрутизация сообщений в формах, сделанных в DLL происходит необычно.
Тут дело не только в DLL. У меня такое было и без DLL. Правда кнопки не совсем исчезали, а становились Disabled.
Почему такое происходит так и не разобрался, но уменя проблема исчезла когда убрал все меню из дочерних окон, т. е. рожертвовал Menu Merge.