MFC动态库封装

1.MVC的设计模式的使用

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


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


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

2、创建一个MFCDll工程

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

__declspec(dllexport) int _stdcall openDialog();

添加一个Dialog的资源

 添加一个CMyDialog的类

 填写类名和基类,还有就是Dialog的ID

 MFCDll.cpp添加函数实现,记得引入头文件#include "MyDialog.h"

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

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

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

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

 测试结果:

 调用的测试代码如下:

#include <stdio.h>
#include <stdlib.h>
#include "../MFCDll/MFCDll.h"

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

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

整个工程的地址:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值