mapx之vc自定义测距工具(PolyToolUsed事件)

2016-02-19 12:56 45 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是mapx之vc自定义测距工具(PolyToolUsed事件),一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

:mapx之vc自定义测距工具(PolyToolUsed事件)
:VC6+mapx4.5+win2000
: www.51gis.com

//1.定义常量
#define MYTOOL_DISTANCE 100 //1~999

//2.创建工具
m_ctrlMap.CreateCustomTool(MYTOOL_DISTANCE,miToolTypePoly,miCrossCursor);

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

//3.响应事件
void CMapXSampleView::OnPolyToolUsedMap(short ToolNum, long Flags, LPDISPATCH Points,
BOOL bShift,BOOL bCtrl,BOOL FAR* EnableDefault)
{
//计算距离
if(Flags==miPolyToolInProgress) {//这句可有可无
if(ToolNum==MYTOOL_DISTANCE)
{
CMapXPoints pts;
long n;
long i;
try{
pts.AttachDispatch (Points, FALSE); // Get points Object
double dDistanceTot=0.0;
n=pts.GetCount ();
for (i=1; in;i++)
{
CMapXPoint pt1=pts.Item(i);
CMapXPoint pt2=pts.Item(i+1);
double d=m_ctrlMapX.Distance (pt1.GetX(),pt1.GetY(),pt2.GetX (),
pt2.GetY ());
dDistanceTot+=d;
}
CString str;
str.Format ("总距离为:%f",dDistanceTot);
//在状态栏输出距离
((CMainFrame*)AfxGetMainWnd())-m_wndStatusBar.SetPaneText(0,str);
}
catch (COleDispatchException *e){
e-ReportError ();
e-Delete ();
}
catch (COleException *e){
e-ReportError ();
e-Delete ();
}
}
}//if(Flags==miPolyToolInProgress)
}

//4.调用工具
void CMapXSampleView::OnMapToolDistancetool()
{
m_ctrlMapX.SetCurrentTool(MYTOOL_DISTANCE); //

}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1602518.html

延伸阅读
标签: Web开发
一、基本概念: 1.标签(Tag): 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写敏感的 2.标签库(Tag library): 由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库。 3.标签库描述文件(Tag Library Desc...
标签: Web开发
这节 主要说下 类 事件 我们说的事件分为两种,一是我们的页面事件或者控件事件这样的内置事件,另种就是我们下面要说的自定义类中的自定义事件 可以在自定义类中定义自己的事件,创建在这些事件发生时运行的事件过程。创建自定义事件比为内置事件创建事件过程稍复杂一些,因为您的代码必唤起自定义事件去响应在代码内发生的...
标签: 浏览器
IE9自定义配置工具使用教程 TweakIE9只有1.71MB,并非完全是绿色安装设计,双击后还是会出现一个简单的安装选项。这之中安装包会自动检查电脑上已装有的IE版本,确认是IE9后才会继续。 安装完成以后,打开界面上有五个基本定制功能: UI(用户界面)定制;启动(IE9启动)定制;下载功能定制(包括EXE文件签名检查);安全功能定制;IE9开...
--------------------------------------------------- -------自定义的TShockwaveflash.ocx---------------- --------------------------------------------------- --------------------------------------------------- 添加功能:对鼠标在 flash.ocx 中的信息捕获.---------- --------------------------------------------------- 可捕获鼠...
按钮交互是Authorware中常用的交互响应类型,但是仅使用系统提供的按钮未免有点单调。我们可以在Authorware中制作自己的图像按钮。 自定义按钮 本例简介:普通的按钮,在Authorware中一般有四个状态:正常、鼠标移过、鼠标按下和不可使用。 在Authorware中制作自己的图形按钮,就要事先准备好这四种状态的图片,当然也可以只准备一张图...

经验教程

656

收藏

26
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部