雖然說C++ Builder 3.0是Borland C++ 5.02 的下一個版本,一樣支援MFC ,但若要在C++ Builder 3.0 下使用 MFC 並不簡單。不是直接寫個 MFC native
Code 並在 Project Option 中再勾選個MFC Compatibility這麽簡單,若你只這樣做,保證你在編譯時一定會得到一堆的Warnning與Error。
要讓你與BCB都能夠輕松的編譯MFC ,我們所必需的就是自己動點手腳,並將這個動過手腳的Project 檔給放到Object Repository;之後,你只需要按下選單上的New 就可以開始你的MFC in BCB之路了。
Step 1、
New 一個新的 Project
Step 2、
在 Directories\Conditionals 這一頁的Conditionals\Conditional defines中給
加入:
_X86_
_WINDOWS
_MSC_VER=1100
_AFX_PORTABLE
_AFX_NOFORCE_LIBS
_MT
_CRT_PORTABLE
_AFX_NO_DEBUG_CRT
這幾個編譯用的參數。
並記得在 include path 加入 $(BCB)\include\MFC 這一項。
Step 3、
接著在 Advance Compilers 這一頁裡將 MFC Compatibility 給勾選起來,
Step 4、
緊接著,將檔案給存起來,裡用文字編輯器來修改這個 Project 的 bpr 檔。
找到 CFLAG1 = ...... 這一行
將這一行給為
CFLAG1 = -Od -Hc -w -k -r- -y -v -vi- -c -w-par -w-inl -w-hid -w-aus -g0
-WM -W
再找到 CFLAG3 = ...... 這一行
將這一行給為
CFLAG3 = -Tkh30000 -VF
最後找到 ALLLIB = .... 這一行
將這一行給為
ALLLIB = $(LIBFILES) $(LIBRARIES) nafxcw.lib import32.lib cw32mt.lib
接著就是存檔羅!
Step 5、
這樣一來,就可以直接在BCB3下享用MFC羅!
不可不知道
在此范例中,所編譯出來的檔案將會是 static link 的版本,並非 dynamic link,
要怎麽樣在 BCB 3 下做 dynamic link MFC library 呢?在此先賣個關子,看看
BCB 裡所附上的范例吧!
此外,在 BCB 有很多方式來鏈結 VCL 與 MFC,大致可分為兩類 :
1、以 TApplication 為主體,而程式中混合使用 VCL與 MFC 所提供的其他類,如
CDC、CPoint、CFile 等等.....。
2、以 MFC 的 CApp 為主體,在選單中呼叫 VCL 所組合而成的 Form。
而這兩類要怎麽樣在 BCB 裡完成呢?動動您的腦筋想想看吧.