plan9
路人甲
路人甲
  • 注册日期2006-08-08
  • 发帖数8
  • QQ
  • 铜币138枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2615回复:8

回报帝国,VC+AE开发,经验分享(1)

楼主#
更多 发布于:2006-08-14 14:28
<P>我不知道有多少人用vc+ae做开发呵。</P>
<P>反正自己是挺痛苦的,从一开始连ae,ao什么区别都不知道到现在2个星期了,感觉还是有点进步的,呵呵,和大家分享一点经验吧。环境:VC6,Dialog Based MFC,AE9.1</P>
<P>一,最早困扰我的是这个问题:我怎么也用不了IMapControl3之类的接口。那个郁闷啊,整整一天都在挣扎。<BR>解决方法:1,stdafx.h中先添上这些。</P>
<P>#include <atlbase.h><BR>extern CComModule _Module; </P>
<P>#include <atlcom.h><BR>#include <atlwin.h><BR>#include "atlcontrols.h"</P>
<P>#pragma warning(push)<BR>#pragma warning(disable : 4192) /* Ignore warnings for types that are duplicated in win32 header files */<BR>#pragma warning(disable : 4146) /* Ignore warnings for use of minus on unsigned types */</P>
<P>#import "C:\Program Files\ArcGIS\com\esriSystem.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids, exclude("OLE_COLOR", "OLE_HANDLE", "VARTYPE")<BR>#import "C:\Program Files\ArcGIS\com\esriSystemUI.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "C:\Program Files\ArcGIS\com\esriGeometry.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "C:\Program Files\ArcGIS\com\esriDisplay.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "C:\Program Files\ArcGIS\com\esriOutput.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "C:\Program Files\ArcGIS\com\esriGeoDatabase.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids<BR>#import "C:\Program Files\ArcGIS\com\esriCarto.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids</P>
<P>// Some of the Engine controls<BR>#import "C:\Program Files\ArcGIS\bin\MapControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids</P>
<P>#pragma warning(pop)</P>
<P>2,声明IMapControl3Ptr m_ipMapControl<BR>3,在InitDialog中书写如下代码:<BR>LPUNKNOWN lpUnknownMapCtl = m_MapControl.GetControlUnknown();</P>
<P>lpUnknownMapCtl->AddRef();<BR>lpUnknownMapCtl->QueryInterface(IID_IDispatch, (void**);m_ipMapControl);<BR>lpUnknownMapCtl->Release();</P>
<P>4,举1反3,我们可以添加其他接口咯。</P>
<P>二,开始用接口了,我在使用MapControl和使用ARControl中做了徘徊。<BR>唉,确实ARControl很好用啊。但是高级的控制还是MapControl更强一些,个人认为啊。<BR>可是MapControl怎么连实现一个上下左右移动都让我头疼呢。<BR>解决方法:1,原来其实是很容易的。。<BR>2,代码:向上移动。<BR>void CGISTestDlg::DirectToNorth()<BR>{<BR> IEnvelope2Ptr pEnvelope;<BR> double yMin;<BR> pEnvelope = m_MapControl.GetExtent();<BR>//用AE的C++Help来搜索一下get_YMin,第一条就是我们所需要的。那幅图一看就明白了。<BR> pEnvelope->get_YMin(;yMin);<BR> pEnvelope->put_YMin(yMin + 700000);<BR> m_MapControl.SetExtent(pEnvelope);<BR>}</P>
<P>先写两个吧,继续工作。^_^</P>
喜欢0 评分0
cl991036
管理员
管理员
  • 注册日期2003-07-25
  • 发帖数5917
  • QQ14265545
  • 铜币29669枚
  • 威望217点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
1楼#
发布于:2006-08-14 16:06
<P>不错</P>
<P>奖励</P>
没钱又丑,农村户口。头可断,发型一定不能乱。 邮箱:gisempire@qq.com
举报 回复(0) 喜欢(0)     评分
duanxingqwc
路人甲
路人甲
  • 注册日期2004-05-26
  • 发帖数6
  • QQ
  • 铜币119枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-05-22 16:58
<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
3楼#
发布于:2007-05-24 11:42
欢迎多写自己的学习经历,支持!
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
whmwxhanshan123
路人甲
路人甲
  • 注册日期2006-06-17
  • 发帖数3108
  • QQ
  • 铜币6445枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2007-05-26 19:49
<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
chbong
路人甲
路人甲
  • 注册日期2007-04-14
  • 发帖数20
  • QQ
  • 铜币81枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2007-06-08 17:44
大虾  在那个文件声明接口对象 怎样声明那
举报 回复(0) 喜欢(0)     评分
wy8705244
路人甲
路人甲
  • 注册日期2006-10-21
  • 发帖数23
  • QQ
  • 铜币164枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2007-06-10 13:51
<P>兄弟,俺支持你了。</P>
<P>加油啊!</P>
举报 回复(0) 喜欢(0)     评分
xiaolinzi
路人甲
路人甲
  • 注册日期2004-03-29
  • 发帖数35
  • QQ
  • 铜币149枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2007-06-15 09:48
兄弟,俺支持你了。继续呀                      <img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
whmwxhanshan123
路人甲
路人甲
  • 注册日期2006-06-17
  • 发帖数3108
  • QQ
  • 铜币6445枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2007-06-15 20:30
<P>奖励</P><img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
游客

返回顶部