<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic legend looks bad in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/legend-looks-bad/m-p/472829#M12781</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm writing code to show legend in the layout view with vba, but it looks disorder. what should I do to make it nice? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Sub AddLegend()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMxDoc As IMxDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pActiveView As IActiveView&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pEnv As IEnvelope&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pID As New UID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMapSurround As IMapSurround&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMarkerNorthArrow As IMarkerNorthArrow&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pCharacterMarkerSymbol As ICharacterMarkerSymbol&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMxDoc = Application.Document&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pActiveView = pMxDoc.pageLayout&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pEnv = New Envelope&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Add a legend&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'In this case just use the default legend&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pEnv.PutCoords 28.3, 5.6, 40.5, 13.8&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pID.Value = "esriCarto.Legend"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMapSurround = CreateSurround(pID, pEnv, "Legend", pMxDoc.FocusMap, pMxDoc.pageLayout)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Refresh the graphics&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pActiveView.PartialRefresh esriViewGraphics, Nothing, Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Function CreateSurround(pID As UID, pEnv As IEnvelope, strName As String, pMap As IMap, pPageLayout As IPageLayout) As IMapSurround&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pGraphicsContainer As IGraphicsContainer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pActiveView As IActiveView&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMapSurroundFrame As IMapSurroundFrame&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMapSurround As IMapSurround&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMapFrame As IMapFrame&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pElement As IElement&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'MapSurrounds are held in a MapSurroundFrame&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'MapSurroundFrames are related to MapFrames&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'MapFrames hold Maps&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pGraphicsContainer = pPageLayout&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMapFrame = pGraphicsContainer.FindFrame(pMap)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMapSurroundFrame = pMapFrame.CreateSurroundFrame(pID, Nothing)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pMapSurroundFrame.mapSurround.Name = strName&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'Set the geometry of the MapSurroundFrame to give it a location&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Activate it and add it to the PageLayout's graphics container&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pElement = pMapSurroundFrame&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pActiveView = pPageLayout&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pElement.Geometry = pEnv&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pElement.Activate pActiveView.ScreenDisplay&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'Allow the legend frame size to be altered after the legend has been&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'added to the GraphicsContainer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim PTrack As ITrackCancel&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set PTrack = New CancelTracker&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pElement.Draw pActiveView.ScreenDisplay, PTrack&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pGraphicsContainer.AddElement pElement, 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Re-apply the change to the Legend MapSurroundFrame Geometry&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pElement.Geometry = pEnv&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set CreateSurround = pMapSurroundFrame.mapSurround&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Function&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 28 Jul 2010 14:54:46 GMT</pubDate>
    <dc:creator>Cut_EliaRahmi</dc:creator>
    <dc:date>2010-07-28T14:54:46Z</dc:date>
    <item>
      <title>legend looks bad</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/legend-looks-bad/m-p/472829#M12781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm writing code to show legend in the layout view with vba, but it looks disorder. what should I do to make it nice? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Sub AddLegend()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMxDoc As IMxDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pActiveView As IActiveView&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pEnv As IEnvelope&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pID As New UID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMapSurround As IMapSurround&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMarkerNorthArrow As IMarkerNorthArrow&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pCharacterMarkerSymbol As ICharacterMarkerSymbol&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMxDoc = Application.Document&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pActiveView = pMxDoc.pageLayout&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pEnv = New Envelope&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Add a legend&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'In this case just use the default legend&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pEnv.PutCoords 28.3, 5.6, 40.5, 13.8&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pID.Value = "esriCarto.Legend"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMapSurround = CreateSurround(pID, pEnv, "Legend", pMxDoc.FocusMap, pMxDoc.pageLayout)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Refresh the graphics&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pActiveView.PartialRefresh esriViewGraphics, Nothing, Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Function CreateSurround(pID As UID, pEnv As IEnvelope, strName As String, pMap As IMap, pPageLayout As IPageLayout) As IMapSurround&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pGraphicsContainer As IGraphicsContainer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pActiveView As IActiveView&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMapSurroundFrame As IMapSurroundFrame&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMapSurround As IMapSurround&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMapFrame As IMapFrame&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pElement As IElement&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'MapSurrounds are held in a MapSurroundFrame&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'MapSurroundFrames are related to MapFrames&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'MapFrames hold Maps&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pGraphicsContainer = pPageLayout&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMapFrame = pGraphicsContainer.FindFrame(pMap)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMapSurroundFrame = pMapFrame.CreateSurroundFrame(pID, Nothing)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pMapSurroundFrame.mapSurround.Name = strName&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'Set the geometry of the MapSurroundFrame to give it a location&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Activate it and add it to the PageLayout's graphics container&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pElement = pMapSurroundFrame&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pActiveView = pPageLayout&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pElement.Geometry = pEnv&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pElement.Activate pActiveView.ScreenDisplay&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'Allow the legend frame size to be altered after the legend has been&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'added to the GraphicsContainer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim PTrack As ITrackCancel&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set PTrack = New CancelTracker&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pElement.Draw pActiveView.ScreenDisplay, PTrack&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pGraphicsContainer.AddElement pElement, 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Re-apply the change to the Legend MapSurroundFrame Geometry&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pElement.Geometry = pEnv&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set CreateSurround = pMapSurroundFrame.mapSurround&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Function&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Jul 2010 14:54:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/legend-looks-bad/m-p/472829#M12781</guid>
      <dc:creator>Cut_EliaRahmi</dc:creator>
      <dc:date>2010-07-28T14:54:46Z</dc:date>
    </item>
  </channel>
</rss>

