MFC DLL中封装模态对话框

  最近一个项目中需要在DLL中封装一个对话框,exe在特定情况下可以显示该DLL的对话框!

在DLL单纯的用图1中的代码是没法成功显示该对话框的,在DoModal之前需要进行一个资源转换(如图2),让程序调用DLL模块中的资源,这样才能显示DLL的对话框资源;



             图 1



             图 2




AFX_MANAGE_STATE(AfxGetStaticModuleState())的作用:用于模块切换时的状态保护,

1.AfxGetStaticModuleState()指向当前模块状态;

2.当前函数调用结束后原模块的状态自动被恢复;

3.用于DLL中所调用MFC函数、类、资源时的模块状态切换;

你可能感兴趣的:(MFC)