用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;