增强功能

Remove raster symbology outline in legend.

上次发布: August 25, 2014 No Product Found
增强功能 ID 编号 NIM000130
已提交August 22, 2014
上次修改时间April 2, 2025
适用范围No Product Found
找到的版本9.1
状态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

重现步骤

当漏洞状态发生变化时获得通知

下载 Esri 支持应用程序

发现关于本主题的更多内容

联系技术支持部门

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项