
你的对话框程序应该这样做:
1当对话框按关闭,“确定”,取消 时 要摧毁窗口。
void CMyDlg::OnClose()
{
DestroyWindow();
}
void CMyDlg::OnBnClickedOk()
{
OnOK();
DestroyWindow();
}
void CMyDlg::OnBnClickedCancel()
{
OnCancel();
DestroyWindow();
}
2添加虚函数PostNcDestroy ,使窗口关闭时可以自动删除自己。
因为你前面用了theApptestDlg2Create(MAKEINTRESOURCE(IDD_DIALOG1),cWnd);
用创建就必须有删除。
#define WM_USERDEFMSG WM_USER + 101 //自定义消息
void CMyDlg::PostNcDestroy()
{
//删除自己
delete this;
//向主窗口发送自定义消息,告知对话框已关闭,可以调用FreeLibrary
::PostMessage(::FindWindow(NULL,"Demo"),WM_USERDEFMSG,NULL,NULL);
CDialog::PostNcDestroy();
}
3主窗口添加自定义消息。
捕获来自子对话框的消息,并调用FreeLibrary
//自定义消息
LRESULT CDemoDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
HMODULE hModule = GetModuleHandle(_T("mydlldll"));
ASSERT(hModule);
if (hModule)
FreeLibrary(hModule);
return 0;
}
例子下载:
>
以上就是关于血本急求:将对话框放入 DLL 文件当中,在主程序中作为子窗口非模态显示,做完 *** 作后,释放该 DLL 的方法全部的内容,包括:血本急求:将对话框放入 DLL 文件当中,在主程序中作为子窗口非模态显示,做完 *** 作后,释放该 DLL 的方法、求解魔兽couldn't open game.dll、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)