Public Function getTextSymbol(pFeatureClass As IFeatureClass) As ITextSymbol
Dim pTextSym As ITextSymbol
Dim pAnnoClass As IAnnoClass
Set pAnnoClass = pFeatureClass.Extension
If Not pAnnoClass.SymbolCollection Is Nothing Then
Dim pSColl As ISymbolCollection
Set pSColl = pAnnoClass.SymbolCollection
pSColl.Reset
Dim pSymID As ISymbolIdentifier
Set pSymID = pSColl.Next
Do Until pSymID Is Nothing
If TypeOf pSymID.Symbol Is ITextSymbol Then
Set pTextSym = pSymID.Symbol
End If
Set pSymID = pSColl.Next
Loop
Else
Dim pFCur As IFeatureCursor
Set pFCur = pFeatureClass.Search(Nothing, False)
Dim pAnnofeat As IAnnotationFeature
Set pAnnofeat = pFCur.NextFeature
Do Until pAnnofeat Is Nothing
If TypeOf pAnnofeat.Annotation Is ITextElement Then
Set pTextSym = pAnnofeat.Annotation
End If
Set pAnnofeat = pFCur.NextFeature
Loop
End If

Set getTextSymbol = pTextSym

End Function
来自:http://www.cnblogs.com/iswszheng/archive/2009/06/22/1508089.html
本文介绍了一种通过Visual Basic .NET编程方式从地图注记类中获取文本符号的方法。该方法首先检查是否有符号集合,如果有,则遍历符号集合查找文本符号;如果没有,则遍历特征类中的注记特征来寻找文本元素。

被折叠的 条评论
为什么被折叠?



