|
阅读:2445回复:9
ao 中的类型问题
<P>以下是帮助中的一段代码,
</P> <P>Private Sub UIButtonControl1_Click() Dim pDoc As IMxDocument Set pDoc = ThisDocument pDoc.ActiveView.Extent = pDoc.ActiveView.FullExtent pDoc.ActiveView.Refresh End Sub</P> <P>另外, 在IActiveView : IUnknown 中有这样大描述: Extent: IEnvelope 和FullExtent: IEnvelope</P> <P>我不明白的是 Extent 和 FullExtent 的类型是什么,是接口吗? 如果是接口,那么 两个接口之间的赋值在这种情况下能解决什么问题。</P> |
|
|
1楼#
发布于:2004-04-26 12:57
<P>你可以查看Idisplaytransformation这个接口就可以知道:</P><P>IActiveView.Fullextent对应的是Idisplaytransformation.bounds,也就是set the full map extent</P><P>IActiveView.extent对应的是Idisplaytransformation.visiblebounds,也就是当前可视的地图范围</P>
|
|
|
|
2楼#
发布于:2004-04-26 17:59
<P>谢谢,</P><P>在 模型图中 Extent :IEnvelope 到底是什么意思, Extent 本来应该是一个对象,但是后面加上一个IEnvelope 为什么????</P>
|
|
|
3楼#
发布于:2004-04-26 19:53
<P>在 模型图中 Extent :IEnvelope 到底是什么意思:</P><P>确切地说:应该是Extent是一个实现了Ienvelop接口的实例,Extent本身不是一个coclass,它只是envelop coclass 的一个实例</P>
|
|
|
|
4楼#
发布于:2004-04-26 22:11
<P>按照我的理解,接口只是一个指向对象或实例的变量(可以理解为指针),那么,我不明白接口的实例是什么东西,</P><P>另外,coclass 指的是对象吧?</P>
|
|
|
5楼#
发布于:2004-04-27 08:33
coclass:当然不是对象啦,它是可以实例化的<FONT color=#f73809>类</FONT>
|
|
|
|
6楼#
发布于:2004-04-27 08:41
<P>我们说:接口实际上是一些预先定义的方法,注意这些方法还有具体的实现过程;</P><P> 而实现接口是指:有一个类,它里面有这个接口的具体实现过程。</P><P>这是非常类似C++里面的多态性</P>
|
|
|
|
7楼#
发布于:2004-04-27 09:16
<P>实现接口,我觉得的是把这个接口变量指向了类的一组成员函数和变量的地址(这个地址指向函数的具体实现),而且也只有这些意思。</P>
|
|
|
8楼#
发布于:2004-04-27 10:53
看来我有点鲁班门前耍大刀了,还是闪吧
|
|
|
|
9楼#
发布于:2004-04-27 14:29
希望各位继续讨论
|
|