![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MAPX
郁闷阳光
作为码农,建此博客的目的是记录工作历程中的点点滴滴,分享工作中的感悟、思考。
展开
-
MapX画点
由于MAPX是以组建的形式提供给我们,要在上面画点,就必须相应鼠标事件:添加宏ON_EVENT(CMapView, IDC_MAP, DISPID_MOUSEDOWN /* MouseDown */, OnMouseDownMap, VTS_I2 VTS_I2 VTS_R4 VTS_R4)以及实现事件的处理函数void CMapView::OnMouseDownMap(short原创 2012-05-28 14:15:55 · 1220 阅读 · 0 评论 -
如何在在MapX中画线
响应组建的按下事件,下面是具体的实现代码。void CMapView::OnMouseDownMap(short Button, short Shift, float X, float Y) { CMapXPoints Pnts; //点集对象 CMapXFeatureFactory FeaFac; CMapXLayer Layer; CMapXF原创 2012-05-28 14:20:28 · 1799 阅读 · 0 评论 -
COleDispatchDriver
这段时间研究mapx地图控件,里面的类都是基于COleDispatchDriver,因此,需要了解COleDispatchDriver这个类,COleDispatchDriver没有基类。COleDispatchDriver类实现OLE自动化中的客户方。OLE调度接口为访问一个对象的方法和属性提供了途径。COleDispatchDriver的成员函数连接,分离,创建和释放一个IDispat转载 2012-05-29 09:02:50 · 5759 阅读 · 0 评论 -
MapX开发
我用MapInfo公司的MapX开发过几个项目。在项目的开发过程中,也接触了一些使用相同技术的公司和开发人员,感觉到他们的开发过程常常被一些问题所困扰,却得不到很好的解决。在这里,我把我在开发过程中积累的一些经验写出来,希望能起到抛砖引玉的作用。二、开发经验1、如何在MapX下读取属性值,这里介绍三种方法:1)由Layer对象的KeyField属性来设立要读取属性值的字段名。接着,由F转载 2012-05-29 13:31:37 · 756 阅读 · 0 评论 -
mpx程序from 阿明
1、MapX折线图元的画法 CMapXPoints pts; CMapXPoint pt; CMapXStyle sty; CMapXFeature f,newobj,newobj1,newobj2; if(!pts.CreateDispatch(pts.GetClsid())) { TRACE0("Failed t转载 2012-05-29 16:28:39 · 598 阅读 · 0 评论 -
MAXP开发(二)
1:对LABEL的操作CMapXLayer.SetAutoLabel(true); 设置图层是否自动标记CMapXLayer.GetLabelProperties().SetVisible(true); 设置标记是否可见CMapXLayer.GetLabe转载 2012-05-29 11:37:23 · 451 阅读 · 0 评论 -
Mapx中如何显示一个符号
在MAXP应用程序开发中,最基本的一个功能是在地图上显示一个目标,这个目标一般用一个符号表示,在地图上表示为一个图标。CMapXFeatureFactory FeaFac; CMapXLayer Layer;CMapXFeature Feature;CMapXStyle Style;double centerX,centerY; //得到地图的中心center原创 2012-05-29 15:40:39 · 927 阅读 · 0 评论 -
Maxp中图元的创建
在mapx应用开发中,我们需要创建各种类型的图元,下面做个简单的总结:画线COleVariant vtPoints;vtPoints.vt=VT_DISPATCH;vtPoints.pdispVal=Pnts.m_lpDispatch;vtPoints.pdispVal->AddRef();Feature=FeaFac.CreateLine(vtPoints); //按照点原创 2012-05-29 15:53:12 · 933 阅读 · 0 评论 -
MapX的一些注意事项
1.要在MAPX中自己创建一个对象,必须调用CreateDispatch(Pnts.GetClsid());创建一个dispath并将其与一个Coledispathdriver对象关联。这样才能调用该对象的方法。2.异常的的捕获,在开发中,我们在每个调用的地方都添加如下代码 catch (COleDispatchException *e) { e->ReportError();原创 2012-05-29 16:23:47 · 807 阅读 · 0 评论