获得AnnotationFeactureclass的textSymbol

 

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(NothingFalse)
        
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

 

posted on 2009-06-22 09:53  炜升  阅读(406)  评论(0编辑  收藏  举报