血本急求:将对话框放入 DLL 文件当中,在主程序中作为子窗口非模态显示,做完 *** 作后,释放该 DLL 的方法

血本急求:将对话框放入 DLL 文件当中,在主程序中作为子窗口非模态显示,做完 *** 作后,释放该 DLL 的方法,第1张

你的对话框程序应该这样做:

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、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10095337.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存