Winapi 试图在MDI父窗口之外提取MDI子窗口

Winapi 试图在MDI父窗口之外提取MDI子窗口,winapi,mfc,mdi,Winapi,Mfc,Mdi,我已经能够使用以下代码将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)

我已经能够使用以下代码将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);

然而,当我试图调整ex childwindow的大小时,整个应用程序都崩溃了。我想这是因为exchild不再收到它的消息了。我的问题是:如果我以某种方式创建了一个不可见的mdichild,并将其消息转发给exchild,那么我是否能够做到这一点?

是的,这是不健康的。使用与Windows窗体相同的方法执行此操作,只需重新创建窗口,现在减去WS_EX_MDICHILD样式标志。摧毁旧的。是的,你会得到一点闪烁。只需为这个新窗口提供相同的窗口过程,即可利用现有代码