前一段时间学习了MFC集成VBA,由于其他工作原因,VBA编程对象创建以及释放一直存在问题未能消除。今天晚上花了3个小时彻底解决了以前的问题。
VBA集成包括应用集成、工程项集成、编程对象集成(编程类、编程控件、用户控件)。现在的应用越来越通用,实现的功能越来越模糊,软件通常用来解决一类问题而不是一个特定问题。这样就需要软件提供解答域而不是直接解决问题。比如一个按钮,按下它执行一种动作,可能是要实现某种运算,这个运算是系统提供的一个运算动作,可能运算完后会激发某种事件告诉用户。
按照以上思路,采用VBA技术,实现一个灵活的系统示例。建立一个mfc多文档程序,视图基于formview,formview上绘制一个按钮。用VBA技术实现一个可编程类math,把按钮设计成可编程控件。由于需要VBASDK,示例无法提供下载,这里只演示效果。
MFC运行期激活VBA IDE:
![](/images/cppblog_com/wlwlxj/730/o_MFCVBA_1.jpg)
可编程类Math执行加法运算完毕有一个事件,我们可以对它编程:
![](/images/cppblog_com/wlwlxj/730/o_MFCVBA_2.jpg)
可编程控件有一个Click事件,我们可以对它编程,使用可编程类Math执行加法运算:
![](/images/cppblog_com/wlwlxj/730/o_MFCVBA_3.jpg)
运行程序,按下按钮,激发Click事件,执行加法运算,加法完毕激活加法运算事件:
![](/images/cppblog_com/wlwlxj/730/o_MFCVBA_4.jpg)
继续执行Click事件,显示加法结果:
![](/images/cppblog_com/wlwlxj/730/o_MFCVBA_5.jpg)
VBA集成开发技术是一种软件系统扩展机制,很多国外大型软件都支持VBA二次开发,Office,Autocad, ArcGis等,国内比较少见。
posted on 2006-08-30 23:55
万连文 阅读(2311)
评论(15) 编辑 收藏 引用 所属分类:
MFC