2010-09-27 5 views
0

Я был в состоянии окна изменит родитель MDIChild на рабочий стол со следующим кодом:Попытки извлечь дочернее окно MDI вне его MDI родителя

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); 

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

ответ

1

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

Смежные вопросы