Will Not Be Addressed
开发团队已考虑过该问题或请求,并决定不会解决该问题。 问题的“其他信息”部分可能包含进一步说明。
附加信息
No Public Explanation
备用工作流程
' Remove outlines from raster legend ' Kirk Kirk Kuykendall ' <a href="http://forums.esri.com/Thread.asp?c=93&f=989&t=83387" target="_blank">http://forums.esri.com/Thread.asp?c=93&f=989&t=83387</a> ' To use: ' add the module (Alt-F11, Insert Module) ' convert legend to graphic, select the graphic & Tools/Macro, run Test ' You can then connect the macro to a button if you wish for quick access. Option Explicit Sub Test() Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument
Dim pGCS As IGraphicsContainerSelect Set pGCS = pMxDoc.PageLayout
If pGCS.ElementSelectionCount = 0 Then Debug.Print "no elements selected" Else Dim l As Long For l = 0 To pGCS.ElementSelectionCount - 1 HideBorders pGCS.SelectedElement(l) Next l pMxDoc.ActiveView.Refresh End If End Sub
Sub HideBorders(pElement As IElement) ' recursively assign null outlines to all fillshapeelements in the ' element (which might be a group element) If TypeOf pElement Is IFillShapeElement Then Dim pFSE As IFillShapeElement Set pFSE = pElement ' Debug.Print pFSE.Symbol.Outline Is Nothing ' COM contract violation If TypeOf pFSE.Symbol Is IColorSymbol Then ' replace the rasterRGBSymbo with a ' simplefillsymbol Dim pSFS As ISimpleFillSymbol Set pSFS = New SimpleFillSymbol
pSFS.Style = esriSFSSolid pSFS.Color = pFSE.Symbol.Color Dim pSLS As ISimpleLineSymbol Set pSLS = New SimpleLineSymbol pSLS.Style = esriSLSNull pSFS.Outline = pSLS pFSE.Symbol = pSFS End If Else If TypeOf pElement Is IGroupElement Then Dim pGElement As IGroupElement Set pGElement = pElement Dim l As Long For l = 0 To pGElement.ElementCount - 1 HideBorders pGElement.Element(l) Next l End If End If End Sub