DLL导出非模态对话框一闪而过是怎么回事呢?
extern "C" __declspec(dllexport) void ShowLoginDlg(void)
{
HINSTANCE save_Instance=AfxGetResourceHandle(); //保存当前句柄
AfxSetResourceHandle(theApp.m_hInstance);
//模态对话框方式==========这种方式调用OK
/*CLoginDlg loginDlg;
loginDlg.DoModal();
*/
//非模态对话框方式
CLoginDlg *ploginDlg=new CLoginDlg();
ploginDlg->Create(IDD_DIALOG_LOGIN);
ploginDlg->ShowWindow(SW_SHOW);
AfxSetResourceHandle(save_Instance); //恢复句柄
}
希望高手能够指点迷津~~
相关推荐
MFC扩展DLL导出对话框类
http://blog.csdn.net/wlsgzl/article/details/8502106 之前有人问有没有教程的代码,我就花时间写了个简单的。
VS2019中MFC DLL封装非模态对话框:规则DLL与扩展DLL详解
在Windows桌面开发中,DLL封装技术是实现模块化与代码复用的重要手段,其中MFC DLL的封装因涉及模块状态、资源句柄及对象生命周期管理,成为许多开发者绕不开的难点。理解规则DLL与扩展DLL的本质区别是正确封装的基础:规则DLL自带CWinApp实例,适合向任意Win32程序导出C接口函数;扩展DLL用于导出MFC类,但要求调用方同为MFC程序。基于这一原理,封装非模态对话框时必须关注AFX_MANAGE_STATE对资源状态的切换,以及通过PostNcDestroy实现自销毁来避免窗口一闪而过。这
MFC DLL封装非模态对话框:规则DLL与扩展DLL实战
动态链接库(DLL)是Windows平台实现代码复用与模块化集成的核心机制,可用于将界面组件、业务逻辑封装为独立模块供多个应用程序共享。在MFC桌面开发中,DLL封装的重点在于模块状态切换与资源查找——规则DLL需通过AFX_MANAGE_STATE切换资源上下文,扩展DLL则依赖CDynLinkLibrary建立资源链。相比模态对话框会阻塞主流程,非模态对话框可在DLL中灵活弹出,不打断用户操作,因此更适合上位机、工具软件等需要多窗口协同的场景。以VS2019为例,详细介绍规则DLL与扩展DLL两种封装非
VS2019/MFC编程入门之对话框:非模态对话框的创建及显示
上一节讲了模态对话框及其弹出过程,本节接着讲另一种对话框--非模态对话框的创建及显示。 已经说过,非模态对话框显示后,程序其他窗口仍能正常运行,可以响应用户输入,还可以相互切换。将上一讲中创建的Tip模态对话框改为非模态对话框,让大家看下效果。当功能实现了想要拥有美观的界面可以借助Toolkit Pro进行界面优化。 Xtreme Toolkit Pro:是屡获殊荣的VC界面库,是MFC开发中最全面界面控件套包,它提供了Windows开发所需要的11种主流的Visual C++ MFC控件,包括Comm
DLL输出对话框类的例子
extern "C" __declspec( dllexport ) void mydlldlg() 通过这条到处函数的语句,注意:此例子实现的是非模态对话框的到处dll


VC.NET
