ahshegis
路人甲
路人甲
  • 注册日期2004-10-22
  • 发帖数181
  • QQ
  • 铜币847枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1967回复:6

PageLayoutControl

楼主#
更多 发布于:2005-11-04 09:52
<P>AO9.0+VB,我想在PageLayoutControl中用鼠标选中添加在上面的文本要素\比例尺\图例等,应该怎样实现?<BR>    可以使用IGraphicsContainer中的LocateElements 方法进行定位。<BR>具体应该怎么做?帮助里面也没有例子,给点详细的提示.</P>
<P><img src="images/post/smile/dvbbs/em12.gif" /></P>
喜欢0 评分0
cftao2008
路人甲
路人甲
  • 注册日期2005-03-09
  • 发帖数141
  • QQ
  • 铜币568枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-11-04 11:34
在帮助里面不是有提示吗?一般情况下这个方法与<a href="ms-its:D:\Program target="_blank" >IPageLayoutControlEvents::OnMouseDown</A>事件结合使用!
举报 回复(0) 喜欢(0)     评分
ahshegis
路人甲
路人甲
  • 注册日期2004-10-22
  • 发帖数181
  • QQ
  • 铜币847枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-11-04 11:38
能不能给点详细的提示,帮助里的例子讲的很简单.
举报 回复(0) 喜欢(0)     评分
cftao2008
路人甲
路人甲
  • 注册日期2005-03-09
  • 发帖数141
  • QQ
  • 铜币568枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-11-04 11:47
<P><a href="http://forums.esri.com/Thread.asp?c=93;f=993;t=158293#462936" target="_blank" >http://forums.esri.com/Thread.asp?c=93;f=993;t=158293#462936</A></P>
<P>这里面有一个类似你的功能的讨论和代码,你先看一看,有什么问题在讨论!</P>
举报 回复(0) 喜欢(0)     评分
cftao2008
路人甲
路人甲
  • 注册日期2005-03-09
  • 发帖数141
  • QQ
  • 铜币568枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2005-11-04 11:48
我感觉ESIR的在线帮助论坛是一个非常不错的地方。在那里简单的复杂的问题一般都能找到答案!
举报 回复(0) 喜欢(0)     评分
cftao2008
路人甲
路人甲
  • 注册日期2005-03-09
  • 发帖数141
  • QQ
  • 铜币568枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2005-11-04 12:19
<P>下面这段代码是移动一个TEXT要素,看看有没有用:</P>

<P>Private Sub SelectElement(intTract_NO)<BR>  <BR>    Dim pPnt As IPoint<BR>    Dim x As Double: Dim y As Double<BR>    Set pPnt = New Point<BR>    x = 3.979413<BR>    y = 0.890013<BR>    pPnt.x = x<BR>    pPnt.y = y<BR>    <BR>  Dim pEnumElement As IEnumElement<BR>  'Grab hold of the IEnumElement interface by locating any elements at the point<BR>  Set pEnumElement = PageLayoutControl1.GraphicsContainer.LocateElements(pPnt, 0.01)<BR>  'Exit if no elements located<BR>  If pEnumElement Is Nothing Then Exit Sub<BR>  <BR>  Dim pElement As IElement<BR>  pEnumElement.Reset<BR>  'Grab hold of the IElement interface through the first located element<BR>  Set pElement = pEnumElement.Next<BR>  <BR>  'Loop through the located elements<BR>  Do While Not pElement Is Nothing<BR>    'Grab hold of the ISelectionTracker interface through the element<BR>    Set m_pSelectionTracker = pElement.SelectionTracker<BR>    Set m_pElement = pElement<BR>    If TypeOf pElement Is ITextElement Then<BR>        Dim pTextElement As ITextElement<BR>        pTextElement.Text = "Tract " ; intTract_NO<BR>        Exit Do<BR>    End If<BR>    Set pElement = pEnumElement.Next<BR>  Loop<BR><BR>End Sub</P>
举报 回复(0) 喜欢(0)     评分
ahshegis
路人甲
路人甲
  • 注册日期2004-10-22
  • 发帖数181
  • QQ
  • 铜币847枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2005-11-07 09:35
我觉得VBA和VB中的区别很大,在VBA中的鼠标事件不知道在VB中该如何实现?
举报 回复(0) 喜欢(0)     评分
游客

返回顶部