IEngineEditor与IWorkspaceEdit,以及相关的事件监听

简介:

转自原文 IEngineEditor与IWorkspaceEdit,以及相关的事件监听

IEngineEditor适用于直接在图层上的编辑,例如使用“要素编辑”工具菜单上的“开始编辑”等工具进行编辑,相应的事件使用IWorkspaceEdit监听,例如以下的代码:

复制代码
private IEngineEditor m_EngineEditor = new EngineEditorClass();  
private IEngineEditEvents_Event m_EngineEditEvents ;  
private void MainForm_Load(object sender,EventArgs e)  
{  
     //get the MapControl  
     m_mapControl = (IMapControl3)axMapControl1.Object;  
     //disable the Save menu (since there is no document yet)  
     menuSaveDoc.Enabled = false;  
     m_EngineEditEvents = (IEngineEditEvents_Event)m_EngineEditor;  
     m_EngineEditEvents.OnStartEditing += new IEngineEditEvents_OnStartEditingEventHandler(m_EngineEditEvents_OnStartEditing);  
}  
void m_EngineEditEvents_OnStartEditing()  
{  
     MessageBox.Show("Start Editing");       
}   
复制代码

IWorkspaceEdit适用于直接对workspace进行的编辑,相应的事件使用IWorkspaceEditEvents_Event监听,例如以下的代码:

复制代码
private IWorkspaceEdit wsEdit;  
private IWorkspaceEditEvents_Event wsEditEvents;  
private void MainForm_Load(object sender,EventArgs e)  
{  
      //get the MapControl  
      m_mapControl = (IMapControl3)axMapControl1.Object;  
      //disable the Save menu (since there is no document yet)  
       menuSaveDoc.Enabled = false;  
      wsEdit = MyTool.GetWorkspaceEdit(map1.Map);  
      wsEditEvents = (IWorkspaceEditEvents_Event)wsEdit;  
      wsEditEvents.OnStopEditing += new IWorkspaceEditEvents_OnStopEditingEventHandler(wsEditEvents_OnStopEditing);  
}  
void wsEditEvents_OnStopEditing(bool saveEdits)  
{  
      MessageBox.Show("StopEditing");  
}  
复制代码

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。




    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6262456.html ,如需转载请自行联系原作者

相关文章
|
12月前
|
数据采集 人工智能 安全
数据治理的实践与挑战:大型案例解析
在当今数字化时代,数据已成为企业运营和决策的核心资源。然而,随着数据量的爆炸性增长和数据来源的多样化,数据治理成为了企业面临的重要挑战之一。本文将通过几个大型案例,探讨数据治理的实践、成效以及面临的挑战。
1502 4
数据治理的实践与挑战:大型案例解析
|
8月前
|
XML Shell Android开发
Cocos2d-x 游戏开发-打包apk被默认自带了很多不必要的权限导致apk被报毒,如何在Cocos 2d-x中强制去掉不必要的权限-优雅草卓伊凡
Cocos2d-x 游戏开发-打包apk被默认自带了很多不必要的权限导致apk被报毒,如何在Cocos 2d-x中强制去掉不必要的权限-优雅草卓伊凡
142 22
|
8月前
|
编解码 计算机视觉
RT-DETR改进策略【Head】| 增加针对 大目标 的检测层 (四个检测头)
RT-DETR改进策略【Head】| 增加针对 大目标 的检测层 (四个检测头)
298 16
|
10月前
|
数据采集 人工智能 移动开发
盘点人工智能在医疗诊断领域的应用
人工智能在医疗诊断领域的应用广泛,包括医学影像诊断、疾病预测与风险评估、病理诊断、药物研发、医疗机器人、远程医疗诊断和智能辅助诊断系统等。这些应用提高了诊断的准确性和效率,改善了患者的治疗效果和生活质量。然而,数据质量和安全性、AI系统的透明度等问题仍需关注和解决。
1000 10
|
12月前
|
机器学习/深度学习 自然语言处理 搜索推荐
智能语音识别技术的现状与未来发展趋势####
本文深入探讨了智能语音识别技术的发展历程、当前主要技术特点、应用领域及面临的挑战,并展望了其未来的发展趋势。通过对比分析传统与现代语音识别技术的差异,揭示了技术创新如何推动该领域不断前进。文章还强调了跨学科合作对于解决现有难题的重要性,为读者提供了一个全面而深入的视角来理解这一快速发展的技术。 ####
|
存储 弹性计算 安全
云计算服务选型与成本分析
【7月更文挑战第2天】云计算服务选型与成本分析聚焦企业如何在IaaS、PaaS、SaaS间抉择,考虑云提供商的技术实力、服务范围、成本效益和支持。成本分析涉及硬件、软件和服务成本,通过简单回收期、投资回报率和净现值法评估效益。优化资源配置、弹性伸缩和合理计费是成本控制关键,助力企业高效利用云计算。
|
人工智能
快来围观!我自制的 AI 周报小能手:自动收集整理周报,一键发送邮件
快来围观!我自制的 AI 周报小能手:自动收集整理周报,一键发送邮件
365 0
|
网络协议 安全 网络安全
Socks VS HTTP 谁才是最快的代理协议
Socks VS HTTP 谁才是最快的代理协议
686 5
|
机器学习/深度学习 人工智能 Cloud Native
AI驱动光通信网络技术发展, 阿里云在OFC2024发表多个创新成果和报告
AI驱动光通信网络技术发展, 阿里云在OFC2024发表多个创新成果和报告
|
自然语言处理 机器人 C++
量化交易机器人系统开发稳定版丨海外版丨多语言丨策略成熟丨案例项目丨指南教程
The quantitative trading robot system is an automated trading system that executes trading decisions through pre-set algorithms. When developing a quantitative trading robot system,