您的位置:首页 > 其它

基于MFC框架插件模式

2015-07-25 19:42 288 查看
今天终于完成基于MFC框架的插件模式1.0版本,后续使用中再完善

使用插件目的:减少模块之间的依赖,便于程序功能扩展维护。

实现方式:

1、所有接口直接或间接继承CObject,只支持单接口继承。

知道类名后,所有接口实例可以使用CRuntimeClass::CreateObject()创建

2、支持MFC单文档,多文档,对话框。框架插件接口目前只有一个函数

BOOL OnPluginEvent(int nEvent,CObject* pFrame);

可以动态增加菜单,工具条等

为了方便以后修改接口,采用IDispatch接口调用方式,可以部分实现接口函数。

COleDispatchDriver dispatch;

static BYTE parms[] = VTS_I4 VTS_I4;

dispatch.InvokeHelper(1,DISPATCH_METHOD,VT_EMPTY,NULL,parms,nEvent,pSender);

3、多模块之间传递变量

1、单一实例

2、支持接口查询,定义通用接口类,增加接口名称获取

4、DLL模块的事件响应

继承CCmdtarget

5、CWnd控件功能扩展

采用SubClassWnd方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: