一,系统提供工具的使用以及自定义工具的使用。由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进行关联。在我的程序中都有使用体现。