VS2005+MapInfo设置多边形区域

问题描述

各位大哥大姐们好,我初学MapInfo,想请教一下,如何用代码实现设置多边形区域(C#)

解决方案

解决方案二:
使用了CreateCustomTool方法创建polytool工具,然后根据这个去设置多边形区域,联机帮助和《MapX参考指南》中会对该对象给出解释,具体的代码实现自己写写吧!
解决方案三:
这是联机帮助里的部分示例代码:constshortCUSTOM_POLYGON_TOOL=42;constshortCUSTOM_POLYLINE_TOOL=43;if(Flags==miPolyToolEnd){//用户通过双击完成PolyTool的使用if(ToolNum==CUSTOM_POLYGON_TOOL){//制作新的区域图元并将其添加到第一个图层CMapXFeaturef;CMapXPointspts;pts.AttachDispatch(Points,FALSE);if(!f.CreateDispatch(f.GetClsid())){TRACE0("FailedtoCreatePointobject");return;}try{f.Attach(m_Map.GetDispatch());//设置多边形的样式f.SetType(miFeatureTypeRegion);f.GetStyle().SetRegionPattern(miPatternSolid);f.GetStyle().SetRegionColor(255);f.GetStyle().SetRegionBorderColor(0);f.GetStyle().SetRegionBorderWidth(2);f.GetStyle().SetRegionBorderStyle(1);//现在使用由事件为我提供的点f.GetParts().Add(pts);m_Map.GetLayers().Item(1).AddFeature(f);}catch(COleDispatchException*e){e->ReportError();e->Delete();}catch(COleException*e){e->ReportError();e->Delete();}}elseif(ToolNum==CUSTOM_POLYLINE_TOOL){CMapXFeaturef;CMapXPointspts;pts.AttachDispatch(Points,FALSE);if(!f.CreateDispatch(f.GetClsid())){TRACE0("FailedtoCreateFeatureobject");return;}try{f.Attach(m_Map.GetDispatch());//设置多义线的样式f.SetType(miFeatureTypeLine);f.GetStyle().SetLineStyle(1);f.GetStyle().SetLineColor(255);f.GetStyle().SetLineWidth(2);//现在使用由事件为我提供的点f.GetParts().Add(pts);m_Map.GetLayers().Item(1).AddFeature(f);}catch(COleDispatchException*e){e->ReportError();e->Delete();}catch(COleException*e){e->ReportError();e->Delete();}}}//其他可能的Flag值://miPolyToolBegin用户开始使用该工具//miPolyToolEndEscaped用户取消该工具//miPolyToolInProgress用户向多义线添加新的节点或使用BACKSPACE删除节点}我写的时候
解决方案四:
constshortCUSTOM_POLYGON_TOOL=42;constshortCUSTOM_POLYLINE_TOOL=43;voidCSampleProjectView::OnPolyToolUsed(shortToolNum,longFlags,LPDISPATCHPoints,BOOLbShift,BOOLbCtrl,BOOLFAR*EnableDefault){if(Flags==miPolyToolEnd){//用户通过双击完成PolyTool的使用if(ToolNum==CUSTOM_POLYGON_TOOL){//制作新的区域图元并将其添加到第一个图层CMapXFeaturef;CMapXPointspts;pts.AttachDispatch(Points,FALSE);*********************************if(!f.CreateDispatch(f.GetClsid())){******************************TRACE0("FailedtoCreatePointobject");return;}try{f.Attach(m_Map.GetDispatch());**********************************//设置多边形的样式f.SetType(miFeatureTypeRegion);f.GetStyle().SetRegionPattern(miPatternSolid);f.GetStyle().SetRegionColor(255);f.GetStyle().SetRegionBorderColor(0);f.GetStyle().SetRegionBorderWidth(2);f.GetStyle().SetRegionBorderStyle(1);//现在使用由事件为我提供的点f.GetParts().Add(pts);*************************************m_Map.GetLayers().Item(1).AddFeature(f);************************************}catch(COleDispatchException*e){e->ReportError();e->Delete();}catch(COleException*e){e->ReportError();e->Delete();}}我打****的地方都会报错说找不到方法,不知道为什么????????????

时间: 2024-10-26 22:38:58

VS2005+MapInfo设置多边形区域的相关文章

求VS2005+MapInfo设置多边形区域源码

问题描述 各位大虾们,小弟初学MapInfo,对很多操作都不熟悉,所以想请各位给我一个源码参考一下.另外我还有一个疑问就是,我原先查看帮助当中的C++示例,然后根据里面写的时候报了很多错误,下面的是其中几个:1.错误3"MapXLib.CMapXFeature"并不包含"CreateDispatch"的定义2.错误2"MapXLib.CMapXPoints"并不包含"AttachDispatch"的定义3.错误4"M

图像处理-请教:请问如何把一个多边形区域像素化?

问题描述 请教:请问如何把一个多边形区域像素化? 把这些像素的值存到数组里,多边形内部元素值为1,外部为0.谢谢了! 解决方案 如何判断点是否在一个不规则的多边形区域内? 解决方案二: 这还不简单么,循环遍历这个数组,根据下标等比例算出坐标,根据坐标计算它在多边形内还是外,然后设置0和1. 判断是否在多边形内,可以取多边形内一点和这一点得到直线方程,如果有奇数个解,就在内部,否则在外部. 解决方案三: 调用API函数,获取像素值.存于数组, 循环读取就行呀 解决方案四: long CVector

wps表格如何设置部分区域显示网格线

  wps表格设置部分区域显示网格线的方法 新建一个excel表格,在表格中输入需要的内容并设置好样式. 如果只想表格处的信息显示网格线,而其他部分不显示网格线,该怎么办?效果如下图: 点击"视图"→"显示网格线",则可以让整个表不显示网格线. 选中需要打印的区域,然后,点击"页面布局"→"打印区域"→"设置打印区域". 最后,点击保存或按"Ctrl+s"即可保存,设置完毕.

excel如何设置打印区域

  excel如何设置打印区域 1.在桌面找到我们要打印的文件,例如我想要打印测评的这个文件,那么我就直接双击点击"测评"就可以了; 2.双击测评之后,就打开了测评的这张表格,如图所示; 3.首先我们需要选中这张表格,用鼠标将我们需要打印的内容选中,如图,我想打印这些人的测评,我就选中这些人的测评; 4.我们再点击最上面插入旁边的"页面布局",点击完页面布局之后,下面有一个打印区域,这个时候我们就点击"打印区域"; 5.点击完打印区域之后,打印区

怎么在excel2010中设置打印区域

  excel2010设置打印区域的步骤: 首先在表格视窗中选择要打印的区域. 打印区域选定后,点击工具栏中:页面布局--打印区域--设置打印区域. 这时候要打印区域周围会有一个虑框,如果区域选择错误可以点击页面布局--打印区域--取消打印区域 按Ctrl+p,点击打印就可以打出你想要的内容了. 在excel2003中选择打印区域的方法与2007版中不同,首先选择要设置的区域,点击文件--打印区域--设置打印区域(红框处) 这时候要打印区域周围会有一个虑框,如果区域选择错误可以点击文件--打印区

Excel表格设置打印区域动画教程

演示动画 操作步骤 面对一张较大的Excel表格,如果我们需要打印其中的部分区域,可以通过设置打印区域来实现: 选中需要打印的单元格区域,执行"文件→打印区域→设置打印区域"命令,以后需要打印相应的区域时,只要按下"常用"工具栏上的"打印"按钮就成了. 注意:再次执行"文件→打印区域→取消打印区域"命令,即要将设置的打印区域撤销.

wps表格怎么设置打印区域?

  1.打开你的打印的表格,选择想打印的数据. 2.单击"文件"菜单.选择"打印区域",选择"设置打印区域."如果不想要已经设置好的打印区域,可以这样取消打印区域.左键单击"文件"菜单.选择"打印区域",选择"取消打印区域. 3.效果如下图 4.单击"文件菜单",点击打印预览. 5.我们就可以看到将要打印的效果.

excel2010如何设置打印区域

  1.打开编辑好的Excel文档,选中想要打印的区域. 2. 点击页面布局选项卡,选择打印区域选项, 点击设置打印区域子选项,这时候我们就成功设置了打印区域. 3.在设置好打印区域后,我们需要对选中的打印区域的输出效果稍作调整,以符合我们的输出需求,使用快捷键CTRL+P, 点击预览选项. 4.在弹出的先窗口中点击页面设置, 我们可以看到页面.页边距.页眉/页脚.工作表四个选项卡,它们分别依次负责调整页面布局,调整页边距,添加页眉和页脚.调整完成后点击确定,输出到打印机即可.

area-.NET MVC 中,默认路由 是否可以 设置为 区域中的视图?

问题描述 .NET MVC 中,默认路由 是否可以 设置为 区域中的视图? 例如,你程序一运行就自动去请求{area}/{controller}/{action}这个格式的链接? 解决方案 修改里: public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.M