ArcGIS二次开发(C++)
長風破浪
这个作者很懒,什么都没留下…
展开
-
理解接口开发中的*Ptr
例:typedef _com_ptr__t>IWorkspaceFactoryPtrIWorkspaceFactory p; //不能实例化抽象类IWorkspaceFactoryPtr ipWorkSpaceFactory; //正确先来看简单的,_uuidofMSDN上的原创 2014-02-23 10:30:37 · 1181 阅读 · 0 评论 -
手动添加MapControl中的消息响应函数
在利用ArcGIS二次开发实现“鹰眼”功能时发现在MapControl控件不能自动添加控件事件(OnMapReplaced、OnExtentUpdated等)。咨询ESRI支持中心后给出的回答是:“在ArcGIS 10.0之后对于MFC框架的支持出现了一些障碍,导致ArcGISEngine中的ActiveX控件无法注册。” 既然这样那么我们就动手自己添加我们所需的响应函数。原创 2014-02-27 21:25:05 · 2727 阅读 · 0 评论 -
《COM技术内幕》学习一
两年前大三下学期,听完崔神的GIS中的现代软件技术,和很多同学一样把《COM技术内幕》《Visual C++开发COM程序》奉为经典。但是苦于当初知识水平有限,又没有写过任何的COM组件甚至没有用过COM组件,这些书都是翻了两页就看不下去了,对于我来说实在是太晦涩。 前几天用C++做了些ArcGIS的二次开发,对组件有了点使用体会,反过来在看《COM技术内幕》有种豁然开朗的感觉原创 2014-03-14 16:31:20 · 1109 阅读 · 0 评论 -
《COM技术内幕》 学习二
上一部分内容介绍了COM最核心的概念接口,当然那不是真正意义上的COM接口,真正的COM接口都是从IUnknown接口继承的,并且其vtbl指针的前三个函数必须是:QueryInterface()、AddRef()、Release()。1、IUnknown接口 首先一切接口都要继承自IUnknown接口,其在Unknwn.h中的定义摘录如下:interface Iu原创 2014-03-14 17:51:09 · 1131 阅读 · 0 评论 -
鹰眼地图的实现(C++)
关于上一篇博文的补充:对于MapControl中的事件响应函数,以下两种形参声明方式等价:voidOnExtentUpdated(const VARIANT FAR&displayTransformation,VARIANT_BOOL sizeChanged,constVARIANT FAR& newEnvelope); voidOnExtentUpdated(VARIAN原创 2014-03-09 01:16:30 · 2036 阅读 · 0 评论