在Dll中创建对话框并调用

简介: 1、第一步创建一“MFC AppWizard (dll)”工程,接下来选择“Regular Dll using shared MFC DLL”,点击“Finish”。 2、添加一对话框资源到工程中,从菜单中选择Insert->Resource,添加一“Dialog”选择“New”,至此对话框已添加到DLL工程中。

1、第一步创建一“MFC AppWizard (dll)”工程,接下来选择“Regular Dll using shared MFC DLL”,点击“Finish”。

2、添加一对话框资源到工程中,从菜单中选择Insert->Resource,添加一“Dialog”选择“New”,至此对话框已添加到DLL工程中。

3、为对话框添加一新类,如:CTest,基类为CDialog。

4、在MFCDLL.cpp中(因创建的工程为MFCDLL)添加接口函数:

extern "C" __declspec(dllexport) void Show()
2. {
3.     AFX_MANAGE_STATE(AfxGetStaticModuleState());
4.     CTest test;
5.     test.DoModal ();
6. }

别忘了在文件中添加: #include "Test.h":),大功告成,编译吧! 

5、用VC新建一对话框工程,在一按钮点击事件中添加如下代码:

 
01. typedef void (WINAPI * TESTDLL)();
02.   
03.   
04. HINSTANCE hmod;
05. hmod = ::LoadLibrary ("mfcdll.dll");
06. if(hmod==NULL)
07. {
08.     AfxMessageBox("Fail");
09. }
10. TESTDLL lpproc;
11. lpproc = (TESTDLL)GetProcAddress (hmod,"Show");
12. if(lpproc!=(TESTDLL)NULL)
13.     (*lpproc)();
14. FreeLibrary(hmod);

6、试试看,是不是DLL中对话框显示出来了:)

技术改变世界! --狂诗绝剑
目录
相关文章
|
2月前
|
C++
MFC创建带窗口的DLL
MFC创建带窗口的DLL
14 0
|
4月前
[MFC] A对话框调用B对话框
[MFC] A对话框调用B对话框
17 0
|
测试技术 BI 区块链
MFC——对话框的创建及使用(上)
MFC——对话框的创建及使用
948 0
MFC——对话框的创建及使用(上)
|
数据安全/隐私保护
MFC——对话框的创建及使用(下)
MFC——对话框的创建及使用
196 0
MFC——对话框的创建及使用(下)
|
Windows
MFC中修改默认启动对话框方法
// CMyAppEApp 初始化BOOL CMyAppEApp::InitInstance(){// 如果一个运行在 Windows XP 上的应用程序清单指定要// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,//则需要 InitCommonControls()。
1365 0
MFC更改菜单名称后进行编译还是原来的名称
问题: 用vc2010 随便弄一个有菜单的程序 然后使用资源管理器(在Menu那个树目录中)添加一个菜单,并加入对应的ID,编译运行,新添加的菜单正常显示 这个时候,我想更改一下新添加的菜单的名字 双击后打开属性,在cap...
1549 0
MFC弹出对话框几种方法总结
一、点击菜单按钮弹出对话框 1、在资源视图中(.rc文件夹下)找到menu,选择需要弹框的菜单项; 2、点击菜单项,修改菜单ID,在主程序中用ON_COMMAND()将ID和函数关联,要在主程序的头文件中声明被关联函数; ...
3589 0