VC2010MFC下的ArcEngine開發 二

2021-08-25 13:51:38 字數 698 閱讀 4011

本節主要解決地圖控制項的建立問題。

mapcontrol和pagelayoutcontrol都是com元件,拖入視窗既可使用。

事實上esri的control控制項在早先版本9.0,9.1的時候是存在一些記憶體洩露的問題的。9.2之後的版本問題少了些,但是問題也是依然存在的,特別是三維控制項。以arcscene為例。小場景範圍內的海量資料載入後,瀏覽速度會陡降,效能明顯不佳,通過opengl的記憶體檢測方法,可以檢測到很多記憶體未正常釋放。

control的記憶體問題還表現在多個控制項如果同時在乙個介面中出現,記憶體問題會比較嚴重,程式有的時候會表現得不正常。

根據經驗9.3 sp1下,目前推薦使用的控制項是license control,mapcontrol control,pagelayout control。

為了方便開發,在vc下開發不採用拖放控制項的方式,而建議先通過mfc嚮導生成control的包裝類(或稱為**類),然後通過create的方式建立。至於建立的時機一般選擇在視窗的oncreate方法中。

生成包裝類的好處:

1、如果不是form控制項,只是乙個cview物件,無妨直接拖放,只能動態建立

2、便於管理,如果需要新增事件,如onclick事件,只需要用嚮導對包裝類生成對應事件。便於對類方法的管理和組織。

3、事實上包裝類可以分散一部分**到包裝類中,如果沒有包裝類,嚮導會把控制項的事件方法掛到view上,這樣view的方法和**就會膨脹。

VC2010MFC下的ArcEngine開發 二

本節主要解決地圖控制項的建立問題。mapcontrol和pagelayoutcontrol都是com元件,拖入視窗既可使用。事實上esri的control控制項在早先版本9.0,9.1的時候是存在一些記憶體洩露的問題的。9.2之後的版本問題少了些,但是問題也是依然存在的,特別是三維控制項。以arcs...

VC2010 MFC 建立常用的介面步驟

1.建立mfc應用。4.基類選擇cformview.5.修改使檢視區域與窗體邊框顯示一致。預設建立乙個基於cformview的mfc程式,會發現檢視區域明顯與窗體邊框不一致。解決辦法 在ct8view.cpp.cpp oninitialupdate中新增以下 modifystyleex ws ex ...

vc 2010 下打包dll 的問題

在vs2010 下打包dll 的問題 在zl的資料夾下在標頭檔案的函式跟cpp 下面都加上 stdcall 比如我們的函式就是 bool stdcall image process unsigned char inputimg,int inwidth,int inheight,unsigned ch...