MFC导出对话框类DLL的实现
1.新建基于对话框的应用程序
2.新建MFC DLL工程
3.选择MFC DLL
4.选择扩展Dll选项(重要!!!)
5.为Dll工程添加一个MFC类,基类为CDialogEx
6.Dll新建的MFC 类中添加resource.h防止编译出错(应为新建了一个对话框资源)
7.将类导出
8.编译Dll,生成Dll文件和Lib文件,将相应头文件和刚生成的Dll和Lib Copy到测试的应用程序目录,并在应用程序工程中包含相应头文件,和添加Lib的目录,在对话框中添加一个按钮,添加响应消息,在响应消息函数中添加Dll中的Dlg
9.编译,运行,效果如下
在MFC动态链接库中导出全局函数时的做法如下:
在dll相应的头文件中定义申明导出函数:
extern "C" void __declspec(dllexport) XXX(int i);
- 1
在cpp文件中定义函数:
void XXX(int i)
{CString str;str.Format(_T("传递的参数是%d。"), i);MessageBox(NULL, _T("sss"), _T("ssss"), 0);
}
编译后将相应的.lib文件copy到测试应用程序的代码目录下(重要!!!不然静态调用时会链接出错)
在调用者中:
#pragma comment(lib,"MFCLibrary1")
extern "C" void __declspec(dllimport) XXX(int i);
void CMFCDllTestAppDlg::OnBnClickedButton1()
{// TODO: Add your control notification handler code hereint i = 1000;XXX(i);}
效果如下:
MFC导出对话框类DLL的实现相关推荐
- 鸡啄米vc++2010系列7(对话框:创建对话框类和添加控件变量)
前两讲中鸡啄米为大家讲解了如何创建对话框资源.创建好对话框资源后要做的就是生成对话框类了.鸡啄米再声明下,生成对话框类主要包括新建对话框类.添加控件变量和控件的消息处理函数等. 因为鸡啄米给大家的例程 ...
- VC++自动生成的对话框类头文件中的enum {IDD= xxxx}解释
1 MFC中对话框类和对话框资源之间的联系 使用VC++ MFC做开发的时候,经常需要插入对话框资源,然后根据这个资源生成相应的对话框类文件.类文件和对话框资源之间的联系纽带就是对话框控件ID,与其他 ...
- MFC 教程【12_对话框和对话框类CDialog 】
对话框和对话框类CDialog 对话框经常被使用,因为对话框可以从模板创建,而对话框模板是可以使用资源编辑器方便地进行编辑的. 模式和无模式对话框 对话框分两种类型,模式对话框和无模式对话框. 模式对 ...
- 从一个MFC工程移植对话框类到另一个MFC工程
今天碰到模块移植问题了,自己做的对话框类(继承于CDialog)要移植到目标工程中.在网上搜了几个帖子发现都说的很生涩.问了我们的技术总监之后总算解决这个问题了. 问题:把一个MFC SDI工程中的一 ...
- mfc入门基础(四)对话框添加控件、创建对话框类和为对话框控件添加变量
参考博客:VS2010/MFC编程入门之七(对话框:为对话框添加控件)-软件开发-鸡啄米 VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)-软件开发-鸡啄米 基于基础(三)中写的 ...
- MFC的Dlg和App什么区别?应用程序类与对话框类
MFC里有个app类..他是一个项目工程类,有一个全局的实例化.theApp你可以理解为整个项目的实例,它重载了入口函数,所有的窗口神马的,都是在这个类里实例化的. dlg是对话框,是一个窗口.一个程 ...
- 8.DLL导出C++类
DLL中不仅可以导出函数和变量,也可以导出C++类.只需要在导出类名前关键字class后加上_declspec(dllexport),就可以实现导出类 1.DLL简单导出类代码 class _decl ...
- MFC中的文件对话框类CFileDialog详解
目录 文件对话框的分类 文件对话框类CFileDialog 对话框选项常用属性(实例:dialog) 对话框常用方法 文件对话框实例 文件对话框的分类 文件对话框分为打开文件对话框和保存文 ...
- C++关于DLL导出模板类和模板函数
这两天写了个Dll,要导出普通类中的模板函数,稍微查了一下,没查到具体资料.自己根据C++模板的编译原理,推断出应该要源码放在头文件中直接导出,查了下接触的Open Source项目,确实如此.这里记 ...
最新文章
- 要速度更要方便!20款实用Chrome插件推荐
- dbinfo.properties mysql_java 8.0Mysql 助手类
- Python 列表 min() 方法
- 手机html文件转TXT,Html 转换 Txt
- Informatica的IDP理念:让业务部门成为真正数据受益者
- Google Maps API 中的标注编程
- Google浏览器Chrome,永久开启flash支持的办法
- word转pdf excel转pdf ppt转pdf pdf转word pdf转excel pdf转ppt pdf转jpg
- linux设置北京时间
- docker 安装 mysql ,redis ,nginx,tomcat,rabbitmq,fastdfs,kafka,mongo,elasticsearch
- 算法提高 金明的预算方案
- Sun JVM,JRocket,J9,Harmony, 四种主要的Java虚拟机实现
- 自己动手撸一个Jlink-TinyJlink诞生记
- 酸了!她在MSRA实习短短半年时间内便完成了两篇入选顶级学术会议 AAAI、ACL 的研究...
- IDEA快捷键设置复制上一行
- cpu使用率(cpu使用率很低最大频率很高)
- 外媒称字节跳动将开发智能手机 官方不予置评
- 高频交流信号采样电路设计
- Python学习笔记:第十站 水晶球不调用不动
- 入营人数线性增长,录取人数保持稳定,复旦工研院有点抢手