MDI Child
От: cahbi7 Россия  
Дата: 01.03.04 15:21
Оценка:
Здравствуйте!
Есть одна проблема. При вызове 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.
Re: MDI Child
От: annaS  
Дата: 11.10.05 00:05
Оценка:
Здравствуйте,

Та же проблема:

Если на MDI Parente уже есть открытая дочерняя форма и она Maximized, то при создании новых дочерних форм (они уже по-умолчанию будут Maximized) теряются системные кнопки (Close, Maximize, Minimize).

Может кто-нибудь нашёл всё-таки решение???
Re[2]: MDI Child
От: Hacker_Delphi Россия  
Дата: 11.10.05 05:31
Оценка: 1 (1)
Здравствуйте, annaS, Вы писали:

S>Может кто-нибудь нашёл всё-таки решение???


ну, некоторые программы при создании нового окна автоматом делают старому окну Restore а потом снова Maximize, что видно на медленных тачках... а ошибка в Delphi или в WinAPI?
никто не смотрел?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Re: MDI Child
От: _spin_ Россия  
Дата: 11.10.05 14:04
Оценка: +1
Здравствуйте, 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>>
Не восхрапи на работе, ибо храпом своим разбудишь начальника своего.
Re[3]: MDI Child
От: annaS  
Дата: 13.10.05 01:11
Оценка:
Здравствуйте, Hacker_Delphi, Вы писали:

H_D>ну, некоторые программы при создании нового окна автоматом делают старому окну Restore а потом снова Maximize, что видно на медленных тачках... а ошибка в Delphi или в WinAPI?

H_D>никто не смотрел?

Похоже всё-таки проблема в WinApi (я пишу на C#).

А вот за Maximize подсказку спасибо. Вроде работает.
Re[2]: MDI Child
От: ak_miass Россия  
Дата: 13.10.05 03:22
Оценка:
Здравствуйте, _spin_, Вы писали:

C>>Основная соль проблемы — РАЗНЫЕ объекты Application в EXE и DLL. Поэтому и маршрутизация сообщений в формах, сделанных в DLL происходит необычно.

Тут дело не только в DLL. У меня такое было и без DLL. Правда кнопки не совсем исчезали, а становились Disabled.
Почему такое происходит так и не разобрался, но уменя проблема исчезла когда убрал все меню из дочерних окон, т. е. рожертвовал Menu Merge.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.