Howto: 使用ArcObjects添加一个日期/时间框到ArcMap布局窗口中

文章编号: 332
软件: ArcInfo Desktop 8.x 9.0,ArcEditor 8.x 9.0,ArcView 8.x 9.0
操作系统: N/A
已邀请:

EsriSupport

赞同来自:

摘要: 这片文章描述使用ArcObjects和VBA代码如何添加和更新一个日期/时间框到ArcMap的布局窗口中。
内容: 在使用这个例子之前请添加一个文本元素到布局窗口中。这个文本元素将用来存放日期/时间信息。
1 打开Arcmap。
2 打开Visual Basic Editor。
3 在VBA工程窗口中,展开Project.mxt,展开This Document,然后打开代码窗口。
4 在对象下拉窗口中选择MxDocument,在程序下拉窗口中选择OpenDocument。
5 添加下面的到OpenDocument程序中。

Dim pMxDoc As IMxDocument
Dim pGraphicsContainer As IGraphicsContainer
Dim pPageLayout As IPageLayout
Dim pEnumElement As IEnumElement
Dim pTextElement As ITextElement
Dim pElement As IElement
Private Function MxDocument_OpenDocument() As Boolean
Set pMxDoc = ThisDocument
Set pPageLayout = pMxDoc.PageLayout
Set pGraphicsContainer = pPageLayout
Dim pPoint As IPoint
Set pPoint = New Point
这里输入的是文本元素的位置,可以通过右键点击属性来得到文本元素的位置坐标
pPoint.x = 2
pPoint.y = 2
'Set pEnumElement = pGraphicsContainer.LocateElements(pPoint, 0.5)
pEnumElement.Reset
Set pElement = pEnumElement.Next
If TypeOf pElement Is ITextElement Then
pGraphicsContainer.DeleteElement pElement
Call Project.AddDate.AddText
Exit Function
End If
6 在VBA工程窗口中,添加一个新的模块到工程中。
7 打开新的模块的代码窗口。
8 添加这些代码到模块的代码窗口中。

Dim m_pMxDoc As IMxDocument
Dim m_pPageLayout As PageLayout
Dim m_pGContainer As IGraphicsContainer
Public Sub AddElement(AnElement As IElement, PagePosition As IGeometry)
Set m_pMxDoc = ThisDocument
Set m_pPageLayout = m_pMxDoc.PageLayout
AnElement.Geometry = PagePosition
Set m_pGContainer = m_pPageLayout
m_pGContainer.AddElement AnElement, 0
m_pMxDoc.ActiveView.Refresh
End Sub
Public Sub AddText()
Dim pTextElement As ITextElement
Set pTextElement = New TextElement
Dim pDocumentTitle As String
Dim pDocument As IDocument
Set pDocument = Application.Document
pDocumentTitle = pDocument.Title
'显示文本的内容
pTextElement.Text = "The date / time is : " & Now & vbCrLf & _
"The document name is : " & pDocumentTitle
Dim pPoint As IPoint
Set pPoint = New Point
'这里输入的是文本元素的位置,可以通过右键点击属性来得到文本元素的位置坐标
pPoint.x = 2
pPoint.y = 2
AddElement pTextElement, pPoint
End Sub
9 改变新添加的模块的名称为AddDate。
10 保存此MXD并关闭。
11 重新打开此MXD,布局窗口中将被贴上日期/时间信息。




创建时间:2005-01-31
最近更新:2005-01-31


原文链接
http://support.esrichina.com.cn/2005/0131/332.html

要回复问题请先登录注册