Попытка извлечь дочернее окно MDI вне его родителя MDI - PullRequest
0 голосов
/ 27 сентября 2010

Мне удалось переписать окно mdichild на рабочий стол с помощью следующего кода:

SetParent(hSeekedWindow,0);
SetWindowLong(hSeekedWindow,GWL_STYLE,WS_OVERLAPPED|WS_VISIBLE|WS_CAPTION|WS_MAXIMIZEBOX|    WS_MINIMIZEBOX|WS_THICKFRAME|WS_SIZEBOX);
SetWindowLong(hSeekedWindow,GWL_EXSTYLE,WS_EX_CLIENTEDGE);

Однако, как только я пытаюсь изменить размер бывшего дочернего окна, происходит сбой всего приложения.Я полагаю, это потому, что exchild больше не получает своих сообщений.У меня такой вопрос: смогу ли я сделать эту работу, если я каким-то образом создал невидимого mdichild, который пересылает свои сообщения exchild?

1 Ответ

1 голос
/ 27 сентября 2010

Да, это не здорово. Сделайте это так же, как в Windows Forms, просто заново создайте окно, теперь без флага стиля WS_EX_MDICHILD Уничтожь старый. Да, вы получите немного мерцания. Используйте существующий код, просто назначив этому новому окну ту же самую оконную процедуру.

...