一,系統提供工具的使用以及自定義工具的使用。由mapx提供的介面,我們可以直接使用系統提供的放大,縮小,漫遊,指標,選擇功能,區域選擇等功能的節點,其實也就是把這個 m_ctrlmapx.setcurrenttool(dw)裡面的dw引數設定為系統提供的一些指示常量。如果是自己想實現自定義的功能,就要麻煩一些,系統提供了三種型別的工具型別,我們可以將自己想新增的工具按照型別進行載入,註冊。
二,自定義工具的實現
on_event(cmysumdlg, idc_map1, 3 /* toolused */, ontoolusedmap1, vts_i2 vts_r8 vts_r8 vts_r8 vts_r8 vts_r8 vts_bool vts_bool vts_pbool)
on_event(cmysumdlg, idc_map1, 11 /* polytoolused */, onpolytoolusedmap1, vts_i2 vts_i4 vts_dispatch vts_bool vts_bool vts_pbool)
on_event(cmysumdlg, idc_map1, -606 /* mousemove */, onmousemovemap1, vts_i2 vts_i2 vts_r4 vts_r4)
從中,我們可以看出,只有三種型別的工具,乙個是工具使用,比如說新增文字,符號。多項擬合工具使用,比如新增連線,新增區域圖元。乙個是滑鼠移動型別。這三種型別,我們根據自己想新增的工具型別按照上面的關聯介面api進行關聯。在我的程式中都有使用體現。
delphi 中的Mapx 開發
一 安裝好mapx後,選擇delphi的 ponent import active 選單新增,mapinfo mapx組 件。新增完成後,在activex面板上,將會出來乙個tmap控制項。二 拖乙個tmap控制項到工程中改名為mainmap,這樣就產生了乙個tmap的物件。三 在地圖上建立圖層使用...
VC二次開發MapX入門
第一步 用vc 的程式嚮導來建立乙個單文件程式mapxsample。第二步 project add to project files,選擇mapx.cpp和mapx.h。第三步 定義乙個cmapx物件。class cmapxsampleview public cview 第四步 宣告乙個常量。vie...
MapX系列 鷹眼
鷹眼 map物件的ctlbounds 是當前可視地圖區域的邊框矩形,可以用 ctlbounds 生成鷹眼。if not m mxmapee is nothing then dim mxpoints as new mapxlib.points dim mxrectangle as new mapxli...