參考
這幾天剛接觸Xtreme,最開始發現上手挺麻煩的,資料也不是很多,用了會之后發現其實還是滿好用的,有UserGuide和實例代碼之后,一些基本想要實現的效果就OK了
最開始從官網下載的12.1.0試用版安裝之后Deployment安裝有問題-_,-還好后來到csdn下載到了標準版,里面還有源碼,之前的問題也沒了。嘎嘎
第一個做的實例是Create an application with office style toolbar,按UserGuide基本就可以了,唯一注意的是把IDR_MIDSAMTYPE改為IDR_MAINFRAME,否則會報編譯錯。
我的項目里面使用Ogre作為渲染引擎,但是在已經有了的OgreMFC框架里面只要加上#include"XTToolkitPro.h"就報些奇怪的錯誤:
正在編譯...
stdafx.cpp
d:\Program Files\Codejock Software\MFC\Xtreme ToolkitPro v12.0.0\Source\Common\XTPVC50Helpers.h(569) : error C2514: “LONG” : 類沒有構造函數
d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinNT.h(259) : 參見“LONG”的聲明
d:\Program Files\Codejock Software\MFC\Xtreme ToolkitPro v12.0.0\Source\Common\XTPVC50Helpers.h(569) : error C3861: “min”: 即使使用參數相關的查找,也未找到標識符
d:\Program Files\Codejock Software\MFC\Xtreme ToolkitPro v12.0.0\Source\Common\XTPVC50Helpers.h(569) : error C3861: “max”: 即使使用參數相關的查找,也未找到標識符
d:\Program Files\Codejock Software\MFC\Xtreme ToolkitPro v12.0.0\Source\Controls\XTMaskEdit.h(37) : fatal error C1903: 無法從以前的錯誤中恢復;正在停止編譯
于是建個MFC的SDI框架慢慢嘗試,只在stdafx.h中添加這兩個頭文件"XTToolkitPro.h","Ogre.h",但就是這樣都會報錯。
之后顛倒了兩個頭文件的順序之后報堆棧大小限制。
倒是這個堆棧限制提醒了我,估計有可能是預編譯頭里的東西太多了,然后發生些奇怪的問題。索性就只在stdafx.h里包含"XTToolkitPro.h",而"Ogre.h"只在需要的頭文件中包含(當然要用define宏來防止重復包含)。果然OK了!
之后著重看了DockingPanel的代碼,按Guide的來也就差不多了,不過有個小問題就是icon圖標。icon大小必須為16*16,有幾個圖標那么圖標文件就是16n*16,不能多也不能少,否則運行期錯誤
Panel的用處很多,可以顯示View,Dlg還有其他一些亂七八糟的控件。如果做View的話必須重新寫一個CXXView類繼承自CView類。這個工作量還是挺大的,不過小心點的話也沒太多難度。
“時間緊,任務多,定計劃,保完成”
牢記這四句話,寒假前順利完成項目!