- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3右键菜单添加与实现
3 右键菜单添加与实现
在AE开发中,右键菜单有两种实现方式,一是使用VS2005自带的ContextMenuStrip控件,二是用AE封装的IToolbarMenu接口。相比较而言,后者更为简单实用,本文采用后者的实现方法。
1、创建右键菜单
在Form1类里面添加如下变量的定义:
//TOCControl控件变量
private ITOCControl2 m_tocControl = null;
//TOCControl中Map菜单
private IToolbarMenu m_menuMap = null;
//TOCControl中图层菜单
private IToolbarMenu m_menuLayer = null;
在Form1_Load函数进行初始化,即菜单的创建:
m_menuMap = new ToolbarMenuClass();
m_menuLayer = new ToolbarMenuClass();
2、添加菜单项
第1步中创建的菜单可认为是菜单容器,里面什么都没有,具体的命令或工具作为菜单项添加到菜单容器才能工作。一般情况下,启动程序就要完成菜单项的添加,故此工作在Form1_Load函数完成。
当然,添加菜单项之前,必须实现相应命令或工具。这里的命令或工具可以AE内置的也可以是自定义的。AE内置了许多可以直接调用的常用命令和工具,如ControlsAddDataCommandClass,在ESRI.ArcGIS.Controls命名空间中,大家可以对象浏览器中查看。当然,这里也可以直接调用AE内置的菜单,如ControlsFeatureSelectionMenu。另外,本讲也实现三自定义命令,以做示范。它们分别为图层可视控制命令(用于控制图层显示与否)、移除图层和放大到整个图层命令。实现方法也很简单,就是右击3sdnMap项目,选择“添加|类”,选择C#普通的类模板,用以下代码覆盖系统自己生成的所有代码。
图层可视控制类LayerVisibility代码:
using ESRI.ArcGIS.ADF.BaseClasses;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.SystemUI;
namespace _sdnMap
{
/// summary
/// 图层可视控制
/// /summary
public sealed class LayerVisibility : BaseCommand, ICommandSubType
{
private IHookHelper m_hookHelper = new HookHelperClass();
private long m_subType;
public LayerVisibility()
{
}
public override void OnClick()
{
for (int i = 0; i = m_hookHelper.FocusMap.LayerCount - 1; i++)
{
if (m_subType == 1) m_hookHelper.FocusMap.get_Layer(i).Visible = true;
if (m_subType == 2) m_hookHelper.FocusMap.get_Layer(i).Visible = false;
}
m_hookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
}
public override void OnCreate(object hook)
{
m_hookHelper.Hook = hook;
}
public int GetCount()
{
return 2;
}
public void SetSubType(int SubType)
{
m_subType = SubType;
}
publ
您可能关注的文档
- 2012年考研计算机统考真题及答案.doc
- 2012年高考真题物理(上海卷)-复兰高考名师在线精编解析版.doc
- 2012秋二级基础试卷(大信).doc
- 2012年福建省泉州市初中毕业升学考试(物理).doc
- 2012最新千兆网接口摄像机设计方案.doc
- 2012贵州省高职院校信息安全管理与评估技能赛比赛规程.doc
- 2012级数据结构期末试题提纲.doc
- 2012高一数学单元测试第二章统计.doc
- 2012高考前指导—--数学.doc
- 2012高考单科物理试卷(上海卷).doc
- c基于linux系统开发系列-23 message queue.pptx
- 文案成果讲稿axiom artis.pdf
- 参考文案介绍chapter 3 solutions.pdf
- unit5雨时你在做什么来了节自检查5 what were you doing when the rainstorm came sectionb3a-self课件共练习题sekf checkx.pdf
- 三套课件新部编人教版二级下册语文全册8单元七蜘蛛开店.pdf
- 分析网络工作组d mcgrewrfc4543 txt.pdf
- 详解网络工作组txt.pdf
- 去吧节语法焦点-unit7 sectiona grammar focus 3bUNIT7A.pptx
- 自动飞机实时异常检测.pdf
- 天然产物组合化学不安过去但光荣未来ganesan内容.pdf
最近下载
- 长沙市长郡中学2022-2023学年高一下学期期末考试物理试卷(含答案).docx VIP
- 2024年湖南省高中学业水平合格性考试英语试卷真题(含答案详解).docx VIP
- 道依茨 TCD4.1 6.1操作手册.pdf
- 湖南省长沙市长郡中学2022-2023学年高一下学期第一次适应性检测数学试卷含答案.docx VIP
- 中国联通CDMA网络租赁费收益计划募集说明书.pdf
- 人教版四年级上册数学《公顷和平方千米整理和复习》(课件).pptx
- 湖南省长沙市长郡中学2022-2023学年高一下学期第一次月考物理试卷含答案.pdf VIP
- 信贷基础知识培训课件.ppt VIP
- 2025年湖南省长沙市长郡教育集团中考数学模拟试卷(四).pdf VIP
- 2025《建筑施工行业公司事故隐患内部报告奖励管理制度》新修订版.docx
文档评论(0)