VC2010MFC下的ArcEngine开发(二)

本节主要解决地图控件的创建问题。

      MapControl和PageLayOutControl都是COM组件,拖入窗口既可使用。

事实上ESRI的Control控件在早先版本9.0,9.1的时候是存在一些内存泄露的问题的。9.2之后的版本问题少了些,但是问题也是依然存在的,特别是三维控件。以ArcScene为例。小场景范围内的海量数据加载后,浏览速度会陡降,性能明显不佳,通过OpenGL的内存检测方法,可以检测到很多内存未正常释放。

      Control的内存问题还表现在多个控件如果同时在一个界面中出现,内存问题会比较严重,程序有的时候会表现得不正常。

根据经验9.3 sp1下,目前推荐使用的控件是License  Control,MapControl Control,PageLayout Control。

      为了方便开发,在VC下开发不采用拖放控件的方式,而建议先通过MFC向导生成Control的包装类(或称为代理类),然后通过Create的方式创建。至于创建的时机一般选择在窗口的OnCreate方法中。

     生成包装类的好处:

     1、如果不是form控件,只是一个Cview对象,无妨直接拖放,只能动态创建

     2、便于管理,如果需要添加事件,如OnClick事件,只需要用向导对包装类生成对应事件。便于对类方法的管理和组织。

     3、事实上包装类可以分散一部分代码到包装类中,如果没有包装类,向导会把控件的事件方法挂到View上,这样View的方法和代码就会膨胀。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值