前一段時(shí)間學(xué)習(xí)了MFC集成VBA,由于其他工作原因,VBA編程對象創(chuàng)建以及釋放一直存在問題未能消除。今天晚上花了3個(gè)小時(shí)徹底解決了以前的問題。
VBA集成包括應(yīng)用集成、工程項(xiàng)集成、編程對象集成(編程類、編程控件、用戶控件)。現(xiàn)在的應(yīng)用越來越通用,實(shí)現(xiàn)的功能越來越模糊,軟件通常用來解決一類問題而不是一個(gè)特定問題。這樣就需要軟件提供解答域而不是直接解決問題。比如一個(gè)按鈕,按下它執(zhí)行一種動作,可能是要實(shí)現(xiàn)某種運(yùn)算,這個(gè)運(yùn)算是系統(tǒng)提供的一個(gè)運(yùn)算動作,可能運(yùn)算完后會激發(fā)某種事件告訴用戶。
按照以上思路,采用VBA技術(shù),實(shí)現(xiàn)一個(gè)靈活的系統(tǒng)示例。建立一個(gè)mfc多文檔程序,視圖基于formview,formview上繪制一個(gè)按鈕。用VBA技術(shù)實(shí)現(xiàn)一個(gè)可編程類math,把按鈕設(shè)計(jì)成可編程控件。由于需要VBASDK,示例無法提供下載,這里只演示效果。
MFC運(yùn)行期激活VBA IDE:

可編程類Math執(zhí)行加法運(yùn)算完畢有一個(gè)事件,我們可以對它編程:

可編程控件有一個(gè)Click事件,我們可以對它編程,使用可編程類Math執(zhí)行加法運(yùn)算:

運(yùn)行程序,按下按鈕,激發(fā)Click事件,執(zhí)行加法運(yùn)算,加法完畢激活加法運(yùn)算事件:

繼續(xù)執(zhí)行Click事件,顯示加法結(jié)果:

VBA集成開發(fā)技術(shù)是一種軟件系統(tǒng)擴(kuò)展機(jī)制,很多國外大型軟件都支持VBA二次開發(fā),Office,Autocad, ArcGis等,國內(nèi)比較少見。
posted on 2006-08-30 23:55
萬連文 閱讀(2378)
評論(15) 編輯 收藏 引用 所屬分類:
MFC