付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四讲 状态栏信息的添加与实现本讲我们将完成状态栏信息的添加与实现。应用程序的状态栏一般用来显示程序的当前状态,当前所使用的工具。GIS应用程序一般也在状态栏显示当前光标的坐标、比例尺等信息。学习完本讲内容,您将学会状态栏编程的基本方法,并且能够在我们的程序的状态栏中添加且显示以下信息:当前所用工具信息当前比例尺当前坐标1、添加状态栏项目在设计视图中,点击窗体中的状态栏,在其属性面板中找到“Items ”项,单击其右边的按钮,在下拉框中选择StatusLabel ”,单击添加按钮”,依次添加四个StatusLabel ,依次修改属性参数如下表所示:Name犀性Spring属性说明1Messag
2、eLabelFalse当前所用工具信息2BlankTrue3ScaleLabel比例尺False当前比例尺斗Coordin ate Labell当前False当前坐标设置好之后如下图所示Tips我们设计出的状态栏最终如下所示:就绪C Blank J比例尺当前坐标Spring属性表示可以按状态栏剩余空间自动伸缩。所以加入Biank项目只是为了占个位子,以达到 ScaleLabel和 CoordinateLabel项目右对齐而 MessageLabel项目左对齐的目 的。2、显示当前所用工具信息首先添加 axToolbarControll的OnMouseMove事件(相信大家看了以上的教程,已经知
3、 道怎么添加事件了吧,还不知道的建议再温习下前几讲的内容)。在其事件响应函数代码如下:privatevoidaxToolbarC on trol1_ OnM ouseMove(objectsen der,IToolbarCo ntrolEve nts_O nM ouseMoveEve nt e)/取得鼠标所在工具的索引号int in dex = axToolbarCo ntrol1.HitTest(e.x, e.y, false);if (in dex != -1)/取得鼠标所在工具的ToolbarItemIToolbarItem toolbarItem = axToolbarC on tro
4、l1.Getltem(i ndex);/设置状态栏信息MessageLabel.Text = toolbarItem.Comma nd.Message;elseMessageLabel.Text =就绪; 3、显示当前比例尺添加axMapControl1 的OnMouseMove 事件,其代码如下:privatevoidaxMapC on trol1_O nM ouseMove(objectsen der,IMapC on trolEve nts2_ OnM ouseMoveEve nt e)/显示当前比例尺ScaleLabel.Text =比例尺 1: + (long)this.axMapC
5、ontrol1.MapScale).ToString();4、显示当前坐标显示当 前坐标也是 axMapControll 的 OnMouseMove 事件中 响应,故只要在 axMapCo ntrol1_O nM ouseMove 函数中添加如下代码即可:/显示当前坐标CoordinateLabel.Text =当前坐标 X = + e.mapX.ToString() + Y = + e.mapY.ToStri ng() + + this.axM apCon trol1.M apUn its;按F5编译运行,可以看到,我们的程序已经能够正常工作了。但是细心的你可能会发现,当前坐标的后面的坐标单
6、位为esriUnknownUnits ”或esriMeters ”之类,即系统在正常单位的前面加上了“esri ”,追求完美的我们自然看得不舒服。那就进行简单的替换吧。首先定义个全局坐标单位变量sMap Un its,如下所示:private stri ng sMap Un its;再Form1_Load函数中进行初始化: sMap Un its = Unknown;添加axMapControl1 控件的 OnMapReplaced事件,在事件响应函数中进行坐标单位替换,代码如下:privatevoidaxMapC on trol1_ OnM apReplaced(objectsen der,
7、IMapCo ntrolEve nts2_ OnM apReplacedEve nt e)esriU nits mapUn its = axMapC on trol1.Map Un its;switch (map Un its)case esriU nits.esriCe ntimeters:sMapU nits = Cen timeters;break;case esriU ni ts.esriDecimalDegrees:sMap Un its = Decimal Degrees;break;case esriU ni ts.esriDecimeters:sMap Un its = Dec
8、imeters;break;case esriU nits.esriFeet:sMap Un its = Feet;break;case esriU nits.esri In ches:sMapU nits = In ches;break;case esriUnits.esriKilometers: sMapUnits = Kilometers; break;case esriUnits.esriMeters: sMapUnits = Meters;break;case esriUnits.esriMiles: sMapUnits = Miles;break;case esriUnits.esriMillimeters: sMapUnits = Millimeters; break;case esriUnits.esriNauticalMiles: sMapUnits = NauticalMiles; break;case esriUnits.esriPoints: sMapUnits = Points;break;case esriUnits.esriUnknownUnits: sMapUnits = Unknown;break;case esriUnit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 种子发芽率检测方案
- 经络疏通按摩标准服务流程
- 职业病危害因素检测报告制度
- 小儿推拿调理标准流程
- 足疗按摩技法教学标准化指引
- 肺功能检查报告解读规范
- 高血压高血脂饮食指南
- 足底反射疗法操作规范
- 春茶采摘嫩度分级技术标准
- 高毒作业场所卫生防护措施
- 2025年福建省福州市辅警协警笔试笔试真题(附答案)
- 构建人类命运共同体+课件-2025-2026学年高中政治统编版选择性必修一
- 2025年善意的谎言辩论会材料及流程
- 2025年辽宁卷历史高考试卷(原卷+答案)
- 检验科个人防护培训课件
- 小儿骨科课件
- 2025年不动产登记业务知识试题及答案
- 2025年内部审计人员考试题库
- 电液伺服阀知识讲解,电液伺服阀组成和工作原理
- 2026届湖南省雅礼教育集团中考物理模拟试题含解析
- 高等职业学校智能控制技术专业实训教学条件建设标准
评论
0/150
提交评论