MFC动态库封装

1.MVC的设计模式的使用

经典MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。
V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操作的方式。


M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性


C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据

2、创建一个MFCDll工程

MFC动态库封装_第1张图片

打开MFCDll.h然后添加一个函数声明

MFC动态库封装_第2张图片

__declspec(dllexport) int _stdcall openDialog();

添加一个Dialog的资源

MFC动态库封装_第3张图片

 添加一个CMyDialog的类MFC动态库封装_第4张图片

 填写类名和基类,还有就是Dialog的IDMFC动态库封装_第5张图片

 MFCDll.cpp添加函数实现,记得引入头文件#include "MyDialog.h"MFC动态库封装_第6张图片

 然后就完成了MFC动态库的封装

int _stdcall openDialog(){
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	CMyDialog dlg;
	INT_PTR nResponse = dlg.DoModal();
	return 0;
}

3、就是写个demo测试一个封装的这个库了

注意:要设置使用MFC的动态库,否则编译会报错。

MFC动态库封装_第7张图片

 测试结果:

MFC动态库封装_第8张图片

 调用的测试代码如下:

#include 
#include 
#include "../MFCDll/MFCDll.h"

#pragma comment(lib, "MFCDll.lib")

int main(){
	openDialog();
	system("pause");
	return 0;
}

整个工程的地址:

https://download.csdn.net/download/weixin_37569048/87681191

你可能感兴趣的:(mfc,动态库)