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

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

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

#血本急求:将对话框放入 DLL 文件当中,在主程序中作为子窗口非模态显示,做完 *** 作后,释放该 DLL 的方法| 来源: 网络整理| 查看: 265

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

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://outofmemory.cn/zz/10095337.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3