用VC++進行MapX二次開發
之三------使用MapX工具
Writer:Bluedy er-huang@163.com
對于一個“標準”的Windows應用程序,一般都有一個工具欄。如果你用過某個GIS系統,一定用過工具欄上的工具。工具欄上的工具為我們提供了一個快速調用某個功能的捷徑。我們這就來創建一個MapX的工具欄。
先來實現什么功能呢?我們來個模仿Mapinfo: 放大工具、 縮小工具。
要對圖象進行放大縮小,該用什么算法呢?不必你操心!我們是進行二次開發,這些算法的實現,MapX都有了,我們只需要調用它的功能就行了。更絕的是,MapX已經內建了常用的“工具”。放大工具就是miZoomInTool,縮小工具就是miZoomOutTool。怎么使用能?好說,CmapX類有個CurrentTool函數,“屬性和函數的名字一樣”------當前工具,調用之即可。還記得前面的吧------Get和Set,現在不需要“獲得”,而要“設置”,那么,該調用的函數為:
m_ctrlMapX.SetCurrentTool(miZoomInTool);//放大工具
m_ctrlMapX.SetCurrentTool(miZoomOutTool);//縮小工具
至于程序的實現,就是為工具欄的按鈕添加消息處理函數,在函數體內添加上面的代碼就可以了。調式運行,看看效果吧。
簡單吧?就這么簡單。別人都說vb進行MapX二次開發簡單,你說呢?
MapX內建的工具有:
miArrowTool;
miPanTool ;
miCenterTool ;
miZoomInTool ;
miZoomOutTool ;
miSymbolTool ;
miTextTool ;
miSelectTool ;
miRadiusSelectTool;
miRectSelectTool ;
miPolygonSelectTool ;
miLabelTool ;
miAddLineTool ;
miAddPolylineTool ;
miAddRegionTool ;
miAddPointTool;
原文轉自:http://www.anti-gravitydesign.com