Mapx消息映射列表

合集下载

Map映射

Map映射

一、 Map的基本知识映射(Map),又称为字典(Dictionary),是由关键字(Key)及其对应的元素值(Value)所组成的元素单元(Element)的表单式集合。

通常,对于Map而言,使用给定的Key,可以迅速地从单元集合中检索到相应的元素。

因此,在需要对大量数据进行查找操作而查找的性能又占据重要地位的场合,Map无疑是一种较理想的容器。

譬如,在MFC中,使用Map来实现HandleMaps(句柄映射),以及其他的一些内部数据结构。

同时,MFC也提供了公共Map类。

使用公共Map 类,MFC程序员可以轻易地高效地根据自身的需求实现程序中自定义的映射。

通常,当一个Map对象被删除时,或者,当其中的元素被移除时,关键字和元素值也将被完全删除。

从数据结构的角度分析,有关Map的典型操作有:1、向Map中插入具有给定关键字的元素单元。

2、在Map中查找具有给定关键字的元素单元。

3、在Map中删除具有给定关键字的元素单元。

4、枚举(遍历)Map中的所有元素单元。

MFC中的各种Map实现,都提供了实现上述操作的成员函数。

为了方便讨论,我们以CMap为代表,进行讲解。

一旦你已经向Map中插入了一个关键字-元素值组合对(Key-Valuepair)单元,就可以利用关键字访问Map,从而有效地检索、添加或者删除元素单元,也可以遍历Map中的所有单元。

对MFC中的CMap等,除了关键字访问方法之外,还有另一种不同的类型--POSITION,也可以作为访问元素单元的辅助方式,可以使用一个 POSITION来"记住"一个元素单元或者对Map进行枚举操作。

你可能认为这种使用POSITION实现的遍历等同于使用关键字来进行的Map遍历,事实上并非如此,确切的说,两种检索的等价性是不确定的。

MFC中的提供了基于模板的CMap类。

利用CMap模板类,可以处理特定的数据类型,例如用户自定义的类或结构体等。

mapx介绍

mapx介绍

把绘图功能嵌入到更新的、现有的应用中的最简单、最经济的方法。

MapInfo MapX v5.0 是低价高效、功能强大的ActiveX 组件式开发工具,能够让开发人员把地图功能方便的添加到任何应用中。

使用标准化语言、明确的对象模型、大量的方法和事件、高效的属性页和默认值等功能,MapInfo MapX 使得应用开发更加简单化。

MapInfo MapX的目的便是能够把基于位置信息的数据以高清晰可视化的效果显示出来并进行分析,帮助他们制定更好的决策,使资产管理及运作更为有效。

功能介绍地图选择工具通过拖拽鼠标在地图窗口中选择位于某点、矩形区域内、圆域内、多边形内、或区域边界内的地图对象。

MapX支持圆选和矩形选择的动态选择模式,即在拖动鼠标的同时就可以选择对象,不必再等到释放鼠标按钮才看到所选对象。

栅格图像和格网的支持MapInfo MapX将卫星图片、航片、遥感图像、扫描图像、格网(MIG)等图像以图层方式加入地图窗口进行管理, 并作为背景显示。

MapX支持栅格图像和格网的半透明显示,透明程度在0-100%之间可随意调节。

专题图通过颜色渲染、符号大小、标注在地图上表现属性数据,增加数据的可视性。

专题图包括范围图、等级符号图、点密度图、饼图,直方图,以及标注专题图。

对象编辑与处理∙创建地图对象的工具,如:点、线、多边形、多点对象和集合对象;∙地图对象的编辑工具,如:合并、缓冲、交叉或擦除对象;∙节点的编辑工具,如添加/删除/移动节点、节点捕捉。

标注∙自动标注和自定义标注的功能;∙允许编辑图层中单个标注的样式;∙实现线状物的部分标注,以保证随着地图窗口的变化标注可以处处、时时显示;∙标注按线状物的走向可环绕,旋转显示。

查询∙通过输入对象的属性如客户名称、街道名、邮政编码快速定位对象。

∙使用条件查询表达式,即SQL语句的Where 字句,如pop>10000,返回符合条件的记录。

表达式支持地理算子如InterSects、PartlyWithin和地理函数如buffer、Centeroid。

CSAE V2X应用层MAP消息解读

CSAE V2X应用层MAP消息解读

<region>17</region><id>12</id></upstreamNodeId><laneWidth>333</laneWidth><movements><Movement><remoteIntersection><region>17</region><id>11</id></remoteIntersection><phaseId>27</phaseId></Movement><Movement><remoteIntersection><region>17</region><id>14</id></remoteIntersection><phaseId>30</phaseId></Movement></movements><lanes><Lane><laneID>23</laneID><maneuvers>000000000011</maneuvers><connectsTo><Connection><remoteIntersection><region>17</region><id>11</id></remoteIntersection><connectingLane><lane>25</lane><maneuver>000000000011</maneuver></connectingLane></Connection><Connection><remoteIntersection><region>17</region><id>14</id></remoteIntersection><connectingLane><lane>26</lane><maneuver>000000000011</maneuver></connectingLane></Connection></connectsTo></Lane></lanes></Link></inLinks></Node></nodes></MapData>3.通过简单的Use Case对MAP消息进行解读msgCnt是发放方为发送的MAP消息进行编号,其值在0 - 127之间,在开始发送是随机选取数字,随后依次递增。

mapx学习笔记资料手册

mapx学习笔记资料手册

MAPX学习使用笔记资料Mapxtreme 下面应该有三种图层一种是固定图层当你新建一个固定图层的时候会生成*.tab等文件一种是临时图层不生成*.tab文件一种是用户绘制图层用户自己使用CDC(Graphics)进行绘图如果你想对多边形进行编辑至少你要响应Mapxtreme的鼠标事件通过鼠标事件来确定当前用户在进行何种操作。

一般的过程是这样的:1.新建一个图层(建议临时图层或者用户绘制图层)2.根据多边形的点的位置绘制图元或者用CDC绘制过变形同时确定各个点在Mapxtreme地图窗口的位置建立各个点的鼠标响应区域3.通过鼠标落下的时候通过各个点的响应区域判断那个点被选中鼠标移动和抬起时要做响应的处理来改变多边形选中点的位置重重新给多边形的点赋值如果使用临时图层需要对临时图层里面的多边形图元的点参数进行更改如果是CDC绘图的话只要更改CDC绘图即可整个过程中需要考虑到地图坐标与Mapxtreme窗口坐标之间的转化。

{通过对象编辑工具,用户可以在地图图层中创建和修改图元。

有四种标准的对象创建工具:“添加点”、“添加线条”、“添加折线”和“添加区域”。

注:若要设置所使用的工具,请设置Map.CurrentTool 属性。

对象编辑工具将新图元添加到在Layers.InsertionLayer 属性中指定的任何图层中。

只能有一个插入图层,并且默认情况下是没有插入图层。

在没有任何插入图层时将当前工具设置为对象创建工具将导致错误。

MapX 还支持对现有地图图元的修改。

若要编辑图元,则对于您要更改的任何图层,必须将Layer.Editable 属性设置为真。

然后,可以使用内置的“箭头”工具,在当前选择中移动图元或调整图元的大小。

若要移动选定图元,只需单击并在选}lyrnew:CMapxLayer;ds: CMapxDataset;rvs: CMapxRowvalues;rv: CMapxRowvalue;ptNew: CMapXpoint;ftrNew: CmapXFeature;beginlyrNew := yers.item(1);ds := Map1.Datasets.Add(miDataSetLayer, lyrNew,emptyparam,emptyparam,emptyparam,emptypara m,emptyparam,emptyparam);//rvs := ds.Rowvalues[1].Clone ;rv:= CoRowvalue.Create;rvs:=CoRowvalues.Create;rv.Dataset:=ds;rv.Field:=ds.Fields.Item(1); //假设mi表有两个字段,填充之rv.value :='item1';rvs.Add(rv);rv.Field:=ds.Fields.Item(2);rv.value :='item2';rvs.Add(rv);ptNew:=CoPoint.Create;ptNew.Set_(map1.centerx, map1.centery);ftrNew := map1.FeatureFactory .CreateSymbol(ptNew,emptyparam);ftrNew := lyrNew.AddFeature(ftrNew, rvs); // 图元+属性,即feature+Rowvalues//ftrNew = lyrNew.AddFeature(ftrNew);//ftrNew.Update (True, rvs);end.作者/收集者:zlx开发环境:Delphi + MapX代码:MapX图元分三种类型:1、线(Line),即miFeatureTypeLine2、区域(Region),即miFeatureTypeRegion3、点符号(Symbol),即miFeatureTypeSymbol加入一个时钟控件,并在时钟控件中实现以下代码:procedure TMapFrm.tmFlashSelectTimer(Sender: TObject);varft: CMapXFindFeature;lyr: CMapXLayer;bExist: Boolean;i: Integer;str: String;ds: CMapXDataset;beginbExist := False;for i := 1 to yers.Count dobeginif yers.Item[i].Name = m_strSelLyr thenbeginbExist := True;break;end;end;if not bExist thenbegintmFlashSelect.Enabled := False;MsgFrm := TMsgFrm.Create(Self);MsgFrm.m_strMsg := Format('图层[%s]信息不存在!',[m_strSelLyr]);MsgFrm.ShowModal;MsgFrm.Free;Exit;end;lyr := yers._Item(m_strSelLyr);ds := mapCity.Datasets.Add(miDataSetLayer, lyr ,EmptyParam, EmptyParam, EmptyParam, EmptyPa ram,EmptyParam, EmptyParam);lyr.Find.FindDataset := ds;lyr.Find.FindField := ds.Fields.Item[1];str := Format('%d',[m_nSelID]);ft := lyr.Find.Search(str,EmptyParam);if ft.FindRC mod 10 <> 1 thenbegintmFlashSelect.Enabled := False;MsgFrm := TMsgFrm.Create(Self);MsgFrm.m_strMsg := Format('单位点[%s]信息不存在!',[m_strCorpName]);MsgFrm.ShowModal;MsgFrm.Free;Exit;end;case ft.type_ ofmiFeatureTypeLine:beginif ft.Style.LineColor = miColorWhite then ft.Style.LineColor := miColorRedelseft.Style.LineColor := miColorWhite;end;miFeatureTypeRegion:beginif ft.Style.RegionColor = miColorGreen then ft.Style.RegionColor := miColorRedelseft.Style.RegionColor := miColorGreen;end;miFeatureTypeSymbol:beginif not m_bFlashSel thenlyr.Selection.Replace(ft)elselyr.Selection.ClearSelection;m_bFlashSel := not m_bFlashSel;end;end;ft.Update(EmptyParam, EmptyParam);if not m_bCenter thenbeginm_bCenter := True;mapCity.CenterX := ft.CenterX;mapCity.CenterY := ft.CenterY;mapCity.Refresh;end;end;我这里是把选中的图元实现闪烁,并把图元居中实现图元闪烁的另一个方法:假设图元原大小是20,改变后大小是15if ft.Style.SymbolBitmapSize=20 thenft.Style.SymbolBitmapSize:=15elseft.Style.SymbolBitmapSize:=20;ft.Update(EmptyParam, EmptyParam);ft是symbol类型的代码名称:画多边形、直线1,画多边形,画线procedure TForm1.Map1PolyToolUsed(Sender: TObject; ToolNum: Smallint; Flags: I nteger; const Points: IDispatch;bShift, bCtrl: WordBool; var EnableDefault: WordBool);varStyle: CMapXStyle;f: CMapXFeature;begincase Flags ofmiPolyToolBegin: ;{ 某些用户开始使用 PolyTool.. }miPolyToolEnd:{ 用户通过双击完成 PolyTool 的使用 }if ToolNum = MY_POLYGON_TOOL thenbegin{ 它们使用 MY_POLYGON_TOOL!制作新的区域图元并将其添加到第一个图层 }Style := Map1.DefaultStyle.Clone;Style.RegionPattern := miPatternSolid;Style.RegionColor := 255;Style.RegionBorderColor := 0;Style.RegionBorderWidth := 2;Style.RegionBorderStyle := 1;{ 使用由事件为我提供的点。

MapX学习基本教程

MapX学习基本教程
导出地图数据
可将编辑好的地图数据导出为多种格式,以供其他软件或平台使用。导出步骤与导入类似 ,通过“文件”菜单选择“导出”,选择要导出的文件类型及保存位置,设置相关参数, 即可完成导出。
数据转换
在导入导出过程中,MapX提供数据转换功能,可实现不同格式数据之间的转换,以满足 不同需求。
图层管理与编辑技巧
灵活的二次开发能力
MapX提供了丰富的API接口和 开发文档,支持用户进行二次开 发,实现个性化的地图应用。
01 02 03 04
多样化的数据格式支持
MapX支持多种常见的地图数据 格式,如Shapefile、 GeoDatabase、KML等,方便 用户导入和处理各种地图数据。
高性能的地图渲染引擎
系统测试与优化
明确系统功能和性能要求,如地 图浏览、空间分析、数据管理等 。
使用MapX编程接口,实现地图 加载、图层管理、空间查询等功 能。
THANKS
感谢观看
保存和导出地图
将当前地图视图保存为图片或 导出为其他数据格式,以便后 续使用。
02
地图数据管理与编辑
Chapter
地图数据导入与导
导入地图数据
支持多种格式的数据导入,如Shapefile、GeoDatabase、KML等。通过“文件”菜单选 择“导入”,选择要导入的文件类型及相应的文件,设置坐标系等参数,即可完成导入。
06
编程接口与二次开发
Chapter
MapX编程接口简介
MapX控件
提供地图显示、编辑、 分析等功能,支持多种 地图格式。
MapX对象模型
包括地图、图层、要素 等核心对象,提供丰富 的属性和方法。
事件处理机制
支持地图事件和用户交 互事件的处理,实现地 图的动态响应。

简道云 mapx用法

简道云 mapx用法

简道云 mapx用法(原创版)目录1.简道云和 MapX 简介2.MapX 的基本用法3.MapX 的高级用法4.MapX 的实际应用案例正文【1.简道云和 MapX 简介】简道云是一款功能强大的数据可视化工具,它提供了丰富的图表类型和数据处理功能,帮助用户轻松实现数据的可视化。

在简道云中,MapX 是一种地图类型的图表,它可以将地理信息数据以地图的形式展示出来,让用户更直观地理解和分析数据。

【2.MapX 的基本用法】MapX 的基本用法主要包括以下几个步骤:(1)准备数据:MapX 需要以经纬度为单位的地理信息数据,因此需要先将原始数据转换为相应的格式。

(2)创建图表:在简道云中选择 MapX 图表类型,并根据需要设置图表的标题、颜色等属性。

(3)上传数据:将处理好的数据上传到简道云,并选择 MapX 图表进行绑定。

(4)调整布局:根据需要调整地图的布局和样式,以达到最佳的展示效果。

【3.MapX 的高级用法】除了基本的数据展示,MapX 还提供了许多高级功能,例如:(1)热力图:通过颜色变化展示数据的密度和分布情况。

(2)路径规划:根据起点和终点计算最优路径,并展示在地图上。

(3)动态数据:实时更新地图上的数据,以展示动态变化的趋势。

【4.MapX 的实际应用案例】MapX 在地理信息数据可视化方面有着广泛的应用,例如:(1)城市交通热力图:通过展示不同区域的交通流量,帮助交通部门优化交通资源配置。

(2)疫情分布地图:实时展示疫情的发展情况,帮助政府和公众了解疫情动态。

(3)物流配送路线图:为物流公司规划最优配送路线,提高配送效率。

掌握Excel中map函数的数组映射技巧

掌握Excel中map函数的数组映射技巧

掌握Excel中map函数的数组映射技巧Excel是一款广泛应用于数据处理和分析的电子表格软件,而map函数是Excel中一个强大且常用的函数,用于实现数组的映射和转换。

通过掌握Excel中map函数的使用技巧,可以提高数据处理的效率和准确性。

本文将介绍map函数的基本用法,并分享一些实用的技巧,帮助读者更好地掌握Excel中map函数的数组映射技巧。

一、map函数基本用法在Excel中,map函数用于将一个数组映射为另一个数组,其中每个元素都经过一系列处理得到新的值。

map函数的基本语法如下:=MAP(转换函数, 数组, [其他参数])其中,“转换函数”是一个应用于数组每个元素的函数,用于将当前元素转换为新的值;“数组”是待映射的原始数组;“其他参数”是可选的,用于指定额外的信息,如区域范围或条件。

下面通过一个简单的示例来说明map函数的基本用法。

假设我们有一个包含学生考试成绩的数组,现在需要将每个学生的成绩进行等级转换,具体要求如下:90分及以上为优秀;80分及以上为良好;70分及以上为及格;70分以下为不及格。

我们可以使用map函数来完成这个任务。

首先,我们需要定义一个转换函数,并将其应用到成绩数组上。

接下来,我们可以在map函数中将该转换函数作为参数,同时指定学生成绩的数组作为输入。

最后,通过填充公式,将map函数应用到整个数组上,即可得到对应的等级数组。

二、map函数应用技巧除了基本的用法外,我们还可以结合其他Excel函数和技巧,进一步扩展和优化map函数的应用。

下面将介绍一些实用的技巧,帮助读者更好地掌握Excel中map函数的数组映射技巧。

1. 结合IF函数进行条件映射在某些情况下,我们可能需要根据一定的条件对数组进行映射。

Excel中的IF函数可以帮助我们实现这一需求。

通过在map函数中嵌套IF函数,我们可以根据指定的条件对数组元素进行判断和转换。

例如,我们有一个存储了学生考勤情况的数组,其中1代表出席,0代表缺席。

地理信息系统第二章 3 MapX基础讲解

地理信息系统第二章 3 MapX基础讲解

‘获得记录总数
dsDataSet.Value(row,col) ‘获得某行某列的具体值
MapX的地图刷新方法
MapX地图绘制:
按照地图图层集合内层排列的倒序逐层绘制, 最底层优先绘制,而后每一层逐一地绘制,上 层地图对象覆盖下层地图对象。当对象设置为 透明显示时,低层次对象仍然可见。
绘制各类专题图层(ThemeLayers) 绘制地图标注图层(AnnotationLayer) 绘制被选择对象的“选中”标识 绘制非图层的浮动对象(FloatingObjects),如
2.5 电子地图及其坐标系的设置
电子地图是基础,没有合适的电子地图,GIS 开发得再好也没用。
电子地图分两类: 栅格图:纸图扫描得到 矢量图:地图经过投影,坐标系调整,由计 算机人员,用矢量化软件处理得到。自动化 矢量工具软件还不很成熟。
地图的坐标系
电子地图是基础,没有合适的电子地图,GIS 开发得再好也没用。
Datasets 可以将外部数据与你的地图进行绑定。 Themes 专题化地图是根据特定专题普染地图的过程。
地图及数据操作基础
加载地图有两种方式: 加载一个Geoset对象到MapX:
yers.AddGeosetLayers GeosetName 加载一个图层到MapX:
yers.Add Filespec,Position
2019/6/10
19
主要对象的说明
Geoset 是地图图层及图层属性值的集合。GeoSet 决定地 图对象中放入的表的库名以及他们的设置值。
Layers, Layer 用户的数据反映在地图上通常根据点、线、 面的层次结构进行归类。每一个独立的图层都可以作为一 个独立的地图。MapX中调用的是一个由多个独立地图图 层组成的地图集合。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VTS_NONE、VTS_I4 、VTS_I2 、VTS_PR4、 VTS_PR4、 VTS_PBOOL等类型,它们标识什么含义,虽然我学习VC有了一段时间,但是VC的内容太多了,我以前就没有遇到过这些类型,不知道该怎么去学习,请指点一下方向,再一次多谢您的帮代表不同的数据类型,看VARAINT的结构定义就知道了,而且常用的也就那么几种.消息及其函数中的参数设置,在mapx的sample文件夹下的例子里面有说的,你可以找到看看。

具体的消息及其函数中的参数设置都有例子的,在代码里面找到看看就可以了。

// event dispids#define MAPX_DISPID_SELECTION_CHANGED 0x1#define MAPX_DISPID_RESOLVEDATABIND 0x2#define MAPX_DISPID_TOOLUSED 0x3#define MAPX_DISPID_REQUESTDATA 0x4#define MAPX_DISPID_DATAMISMATCH 0x5#define MAPX_DISPID_MAPVIEWCHANGED 0x6#define MAPX_DISPID_ANNOTATIONADDED 0x7#define MAPX_DISPID_ANNOTATIONCHANGED 0x8#define MAPX_DISPID_THEMEMODIFYREQUESTED 0x9#define MAPX_DISPID_DRAWUSERLAYER 0x0a#define MAPX_DISPID_POLYTOOLUSED 0x0b#define MAPX_DISPID_MOUSEWHEEL 0x0c#define MAPX_DISPID_MAPINITIALIZED 0x0d#define MAPX_DISPID_RESOLVEDATABINDEX 0xe#define MAPX_DISPID_MAPDRAW 0xf// dispatch id definitions for ole stock events are// defined in <olectl.h>// they are included here for reference#define DISPID_CLICK (-600)#define DISPID_DBLCLICK (-601)#define DISPID_KEYDOWN (-602)#define DISPID_KEYPRESS (-603)#define DISPID_KEYUP (-604)#define DISPID_MOUSEDOWN (-605)#define DISPID_MOUSEMOVE (-606)#define DISPID_MOUSEUP (-607)#define DISPID_ERROREVENT (-608)file://*/void Click();void DblClick();void Error(short Number, BSTR* Description, long Scode, LPCTSTR Source,LPCTSTR HelpFile, long HelpContext, BOOL* CancelDisplay);void KeyDown(short* KeyCode, short Shift);void KeyPress(short* KeyAscii);void KeyUp(short* KeyCode, short Shift);void MouseMove(short Button, short Shift, float X, float Y);在onMouseDown ()中加入如下语句:if(Button==1){CMoRectangle rect=m_map.GetExtent();rect.ScaleRectangle(0.5);m_map.SetExtent(rect);}else if(Button==2){CMoRectangle rect=m_map.GetFullExtent();m_map.SetExtent(rect);}可能表明通过Button值可判断是左键还是右键void MouseDown(short Button, short Shift, float X, float Y);void MouseUp(short Button, short Shift, float X, float Y);void SelectionChanged();void ResolveDataBind(short Flag, short NumMatches, const VARIANT& Matches, short* Choice, BOOL* Cancel);void ToolUsed(short ToolNum, double X1, double Y1, double X2, double Y2, double Distance, BOOL Shift, BOOL Ctrl, BOOL* EnableDefault);void RequestData(LPCTSTR DataSetName, long Row, short Field, VARIANT* Value, BOOL* Done);void DataMismatch(LPCTSTR DataSetName, long Row, BSTR* GeoFieldValue); void MapViewChanged();void AnnotationAdded(LPDISPATCH Annotation);void AnnotationChanged(short ChangeType, LPDISPATCH Annotation, BOOL* EnableDefault);void ThemeModifyRequested(LPDISPATCH Theme);void DrawUserLayer(LPDISPATCH Layer, long hOutputDC, long hAttributeDC, LPDISPATCH RectFull, LPDISPATCH RectInvalid);void PolyToolUsed(short ToolNum, long Flags, LPDISPATCH Points, BOOL bShift, BOOL bCtrl, BOOL FAR* EnableDefault);void ResolveDataBindEx(short Flag, short NumMatches, const VARIANT& Matches, short* Choice, BOOL* Cancel);void MapDraw(short Flag);void AddFeatureToolUsed(short ToolNum, long Flags, IDispatch* Feature, boolean bShift, boolean bCtrl, boolean* EnableDefault);file://*/BEGIN_EVENTSINK_MAP(CMapTestView, CView)// ON_EVENT(CMapTestView, IDC_MAP, DISPID_MOUSEMOVE, OnMouseMove_Map, VTS_I2 VTS_I2 VTS_XPOS_PIXELS VTS_YPOS_PIXELS)// ON_EVENT(CMapTestView, IDC_MAP, DISPID_CLICK, OnClick_Map, VTS_NONE) // ON_EVENT(CMapTestView, IDC_MAP, DISPID_DBLCLICK, OnDblClick_Map, VTS_NONE)// ON_EVENT(CMapTestView, IDC_MAP, DISPID_ERROREVENT, OnError_Map, VTS_I2 VTS_PBSTR VTS_I4 VTS_BSTR VTS_BSTR VTS_I4 VTS_PBOOL)// ON_EVENT(CMapTestView, IDC_MAP, DISPID_KEYDOWN, OnKeyDown_Map, VTS_PI2 VTS_I2)// ON_EVENT(CMapTestView, IDC_MAP, DISPID_KEYPRESS, OnKeyPress_Map, VTS_PI2)// ON_EVENT(CMapTestView, IDC_MAP, DISPID_KEYUP, OnKeyUp_Map, VTS_PI2 VTS_I2)// ON_EVENT(CMapTestView, IDC_MAP, DISPID_MOUSEDOWN, OnMouseDown_Map, VTS_PI2 VTS_PI2 VTS_PR4 VTS_PR4)// ON_EVENT(CMapTestView, IDC_MAP, DISPID_MOUSEUP, OnMouseUp_Map, VTS_I2 VTS_I2 VTS_XPOS_PIXELS VTS_YPOS_PIXELS)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_SELECTION_CHANGED, OnSelectionChanged, VTS_NONE)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_RESOLVEDA TABIND, OnResolveDataBind, VTS_I2 VTS_I2 VTS_V ARIANT VTS_PI2 VTS_PBOOL)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_REQUESTDATA, OnRequestData, VTS_BSTR VTS_I4 VTS_I2 VTS_PV ARIANT VTS_PBOOL)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_DATAMISMATCH, OnDataMismatch, VTS_BSTR VTS_I4 VTS_PBSTR)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_MAPVIEWCHANGED, OnMapViewChanged, VTS_NONE)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_ANNOTATIONADDED, OnAnnotationAdded, VTS_DISPATCH)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_ANNOTATIONCHANGED, OnAnnotationChanged, VTS_I2 VTS_DISPATCH VTS_PBOOL)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_THEMEMODIFYREQUESTED, OnThemeModifyRequested, VTS_DISPATCH)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_DRAWUSERLAYER, OnDrawUserLayer, VTS_DISPA TCH VTS_I4 VTS_I4 VTS_DISPATCH VTS_DISPATCH)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_POLYTOOLUSED, OnPolyToolUsed, VTS_I2 VTS_I4 VTS_DISPATCH VTS_BOOL VTS_BOOL VTS_PBOOL)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_TOOLUSED, OnToolUsed, VTS_I2 VTS_R8 VTS_R8 VTS_R8 VTS_R8 VTS_R8 VTS_BOOL VTS_BOOL VTS_PBOOL)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_MOUSEWHEEL, OnMouseWheel, VTS_I4 VTS_I2 VTS_PR4 VTS_PR4 VTS_PBOOL)// ON_EVENT(CMapTestView, IDC_MAP, MAPX_DISPID_MAPINITIALIZED, OnMapInitialized, VTS_NONE)END_EVENTSINK_MAP()BEGIN_EVENTSINK_MAP(CMapxSampleView, CView)ON_EVENT(CMapxSampleView, IDC_MAP, DISPID_MOUSEMOVE, OnMouseMoveInMap, VTS_I2 VTS_I2 VTS_XPOS_PIXELS VTS_YPOS_PIXELS) ON_EVENT(CMapxSampleView, IDC_MAP, 11 /* PolyToolUsed */, OnPolyToolUsedMap, VTS_I2 VTS_I4 VTS_DISPATCH VTS_BOOL VTS_BOOL VTS_PBOOL)ON_EVENT(CMapxSampleView, IDC_MAP, MAPX_DISPID_TOOLUSED, OnToolUsed, VTS_I2 VTS_R8 VTS_R8 VTS_R8 VTS_R8 VTS_R8 VTS_BOOL VTS_BOOL VTS_PBOOL) ON_EVENT(CMapxSampleView, IDC_MAP, -600 /* Click */, OnClickMap, VTS_NONE) ON_EVENT(CMapxSampleView, IDC_MAP, -601 /* DblClick */, OnDblClickMap, VTS_NONE)ON_EVENT(CMapxSampleView, IDC_MAP, -608 /* Error */, OnErrorMap, VTS_I2 VTS_PBSTR VTS_I4 VTS_BSTR VTS_BSTR VTS_I4 VTS_PBOOL)ON_EVENT(CMapxSampleView, IDC_MAP, -602 /* KeyDown */, OnKeyDownMap, VTS_PI2 VTS_I2)ON_EVENT(CMapxSampleView, IDC_MAP, -603 /* KeyPress */, OnKeyPressMap, VTS_PI2)ON_EVENT(CMapxSampleView, IDC_MAP, -604 /* KeyUp */, OnKeyUpMap, VTS_PI2 VTS_I2)ON_EVENT(CMapxSampleView, IDC_MAP, -605 /* MouseDown */, OnMouseDownMap, VTS_I2 VTS_I2 VTS_R4 VTS_R4)ON_EVENT(CMapxSampleView, IDC_MAP, DISPID_MOUSEUP, OnMouseUpInMap, VTS_I2 VTS_I2 VTS_XPOS_PIXELS VTS_YPOS_PIXELS)ON_EVENT(CMapxSampleView, IDC_MAP, 1 /* SelectionChanged */, OnSelectionChangedMap, VTS_NONE)ON_EVENT(CMapxSampleView, IDC_MAP, 2 /* ResolveDataBind */, OnResolveDataBindMap, VTS_I2 VTS_I2 VTS_V ARIANT VTS_PI2 VTS_PBOOL) ON_EVENT(CMapxSampleView, IDC_MAP, 4 /* RequestData */, OnRequestDataMap, VTS_BSTR VTS_I4 VTS_I2 VTS_PV ARIANT VTS_PBOOL)ON_EVENT(CMapxSampleView, IDC_MAP, 5 /* DataMismatch */, OnDataMismatchMap, VTS_BSTR VTS_I4 VTS_PBSTR)ON_EVENT(CMapxSampleView, IDC_MAP, MAPX_DISPID_MAPVIEWCHANGED, OnMapViewChanged, VTS_NONE)ON_EVENT(CMapxSampleView, IDC_MAP, 7 /* AnnotationAdded */, OnAnnotationAddedMap, VTS_DISPA TCH)ON_EVENT(CMapxSampleView, IDC_MAP, 8 /* AnnotationChanged */,OnAnnotationChangedMap, VTS_I2 VTS_DISPATCH VTS_PBOOL)ON_EVENT(CMapxSampleView, IDC_MAP, MAPX_DISPID_THEMEMODIFYREQUESTED, OnThemeModifyRequested, VTS_DISPATCH)ON_EVENT(CMapxSampleView, IDC_MAP, MAPX_DISPID_DRAWUSERLAYER, OnDrawUserLayer, VTS_DISPA TCH VTS_I4 VTS_I4 VTS_DISPATCH VTS_DISPATCH)END_EVENTSINK_MAP()BOOL CMapxSampleView::OnMouseMoveInMap(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y)BOOL CMapxSampleView::OnMouseUpInMap(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y)void CMapxSampleView::OnPolyToolUsedMap(short ToolNum, long Flags, LPDISPATCH Points, BOOL bShift, BOOL bCtrl, BOOL FAR* EnableDefault)void CMapxSampleView::OnToolUsed(short ToolNum, double X1, double Y1, double X2, double Y2, double Distance, BOOL Shift, BOOL Ctrl, BOOL* EnableDefault)void CMapxSampleView::OnClickMap()void CMapxSampleView::OnDblClickMap()void CMapxSampleView::OnErrorMap(short Number, BSTR FAR* Description, long Scode, LPCTSTR Source, LPCTSTR HelpFile, long HelpContext, BOOL FAR* CancelDisplay)void CMapxSampleView::OnKeyDownMap(short FAR* KeyCode, short Shift)void CMapxSampleView::OnKeyPressMap(short FAR* KeyAscii)void CMapxSampleView::OnKeyUpMap(short FAR* KeyCode, short Shift)void CMapxSampleView::OnMouseDownMap(short Button, short Shift, float X, float Y)void CMapxSampleView::OnSelectionChangedMap()void CMapxSampleView::OnResolveDataBindMap(short Flag, short NumMatches, const V ARIANT FAR& Matches, short FAR* Choice, BOOL FAR* Cancel)void CMapxSampleView::OnRequestDataMap(LPCTSTR DataSetName, long Row, short Field, V ARIANT FAR* Value, BOOL FAR* Done)void CMapxSampleView::OnDataMismatchMap(LPCTSTR DataSetName, long Row, BSTR FAR* GeoFieldValue)void CMapxSampleView::OnAnnotationAddedMap(LPDISPATCH Annotation)void CMapxSampleView::OnAnnotationChangedMap(short ChangeType, LPDISPATCH Annotation, BOOL FAR* EnableDefault)void CMapxSampleView::OnThemeModifyRequested(LPDISPATCH Theme)void CMapxSampleView::OnDrawUserLayer(LPDISPATCH Layer, long hOutputDC, long hAttributeDC, LPDISPATCH RectFull, LPDISPATCH RectInvalid)BOOL CMapxSampleView::OnMapViewChanged()。

相关文档
最新文档