阅读:2079回复:4
[讨论]怎么选择和移动指南针、legend等element元素
<P>怎么才能实现对element的选择和移动,用IDisplayFeedback和哪里feedback?</P>
<P>像移动MarkerElement可以用IMovePointFeedback,移动文本元素可以用IMoveTextFeedback接口,但是对指南针、legend等元素,怎么移动?</P> |
|
1楼#
发布于:2006-06-29 17:08
<PRE 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px">Option Explicit
<BR>Sub SaveElementGeometry() <BR>' set each element's customproperty to its current geometry <BR>Dim pMxDoc As IMxDocument <BR>Set pMxDoc = ThisDocument <BR> <BR>Dim pGC As IGraphicsContainer <BR>Set pGC = pMxDoc.PageLayout <BR>pGC.Reset <BR> <BR>Dim pElement As IElement, pElementProps As IElementProperties <BR>Set pElement = pGC.Next <BR>Do While Not pElement Is Nothing <BR>Set pElementProps = pElement <BR>pElementProps.CustomProperty = pElement.Geometry <BR>Set pElement = pGC.Next <BR>Loop <BR>End Sub <BR> <BR>Sub RestoreElementGeometry() <BR>' sets each element's geometry to its customproperty <BR>Dim pMxDoc As IMxDocument <BR>Set pMxDoc = ThisDocument <BR> <BR>Dim pGC As IGraphicsContainer <BR>Set pGC = pMxDoc.PageLayout <BR>pGC.Reset <BR> <BR>Dim pElement As IElement, pElementProps As IElementProperties <BR>Set pElement = pGC.Next <BR>Do While Not pElement Is Nothing <BR>Set pElementProps = pElement <BR>If Not IsNull(pElementProps.CustomProperty) Then <BR>pElement.Geometry = pElementProps.CustomProperty <BR>End If <BR>Set pElement = pGC.Next <BR>Loop <BR>Dim pAV As IActiveView <BR>Set pAV = pMxDoc.PageLayout <BR>pAV.Refresh <BR>End Sub </PRE> |
|
|
2楼#
发布于:2006-06-29 17:20
<P>这个帖子里有你说的功能了</P>
<P><a href="http://www.gisempire.com/bbs/dispbbs.asp?boardID=62;ID=46423;page=1" target="_blank" >http://www.gisempire.com/bbs/dispbbs.asp?boardID=62;ID=46423;page=1</A></P> |
|
|
3楼#
发布于:2006-06-29 17:28
<P>多谢了</P>
<img src="images/post/smile/dvbbs/em02.gif" /> |
|
4楼#
发布于:2006-06-29 17:41
我的意思是怎么用鼠标移动多个northArrow,legend等元素
|
|