<?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 Re: Can you programmatically add a &amp;quot;Add-In&amp;quot; button to a context menu? in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459045#M12430</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Kevin, Sean's example is how you would do this sort of thing but I'd like to point out one major point.&amp;nbsp; Notice in his code how he is using the extension to register an event handler for the OnStartEditing event.&amp;nbsp; In this event, he checks to see if the command is already on the context menu and adds it if it is not.&amp;nbsp; The CommandBars collection is a property of the document, so the toolbars and menus can differ from one document to the next.&amp;nbsp; In your case you would want to listen for the NewDocument and OpenDocument events.&amp;nbsp; In these events you would check the context menu to see if the command needs to be added.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 16 Dec 2011 12:26:56 GMT</pubDate>
    <dc:creator>NeilClemmons</dc:creator>
    <dc:date>2011-12-16T12:26:56Z</dc:date>
    <item>
      <title>Can you programmatically add a &amp;quot;Add-In&amp;quot; button to a context menu?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459041#M12426</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Howdy All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I have created an ArcGIS 10.0 Add-In, that when it is installed for the first time I would like to add the Button in it to the "featurelayer" context menu programmatically...&amp;nbsp; When I was developing it, the first time I ran it in debug mode I add to manually add the button to the feature layer context menu.&amp;nbsp; Is there a way that this can be done programmatically once and only once?&amp;nbsp; I have several hundred users that I would not like to have to explain to ALL of them how to do this step themselves the first time they install and run it...&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For that matter, I would also like to programmatically add it to a toolbar as well, but I figure, if I can figure out how to add to the context menu, the toolbar should be pretty similar...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have added to the project an AddIns extension, that I have a couple lines of code in the OnStartup sub to set some variables up before the button/form is used for the first time.&amp;nbsp; I figure if need be, something could go in here to see if the button is in the context menu or not and add it if it is not already there...&amp;nbsp; Any thoughts???&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Current Environment:&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt; ArcMap 10.0 Service Pack 3, ArcInfo license level&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ArcObjects SDK, Service Pack 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Visual Studio 2010 Professional, Service Pack 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; VB.Net&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Working on an ArcMap Add-In. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kevin Orcutt&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Dec 2011 19:03:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459041#M12426</guid>
      <dc:creator>KevinOrcutt</dc:creator>
      <dc:date>2011-12-15T19:03:35Z</dc:date>
    </item>
    <item>
      <title>Re: Can you programmatically add a "Add-In" button to a context menu?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459042#M12427</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I haven't implemented that before, but I suspect you will need to use ICommandBar, since its &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#//002300000065000000"&gt;documentation&lt;/A&gt;&lt;SPAN&gt; mentions context menus.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also think you're on the right track using an extension. You might want to have a look at this thread where we did something similar to add a menu to ArcMap's main menu bar:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://forums.arcgis.com/threads/33463-Modify-(add)-to-MAIN-Toolbar-with-Addinx-files"&gt;Modify-(add)-to-MAIN-Toolbar-with-Addinx-files&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Be sure to post back if you get anywhere -- or not.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Dec 2011 20:56:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459042#M12427</guid>
      <dc:creator>JeffreyHamblin</dc:creator>
      <dc:date>2011-12-15T20:56:32Z</dc:date>
    </item>
    <item>
      <title>Re: Can you programmatically add a "Add-In" button to a context menu?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459043#M12428</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yep, you can do it through an extension.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's the extension code where i add a button/command to an editor sketch context menu.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The commandUID.Value used here is the button ID of the add-in command you wish to add. Both the add-in extension and button are in the same VS solution. In your case you would use a regular arcmap add-in extension.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The only trick is finding the guid of the context menu...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;using ESRI.ArcGIS.Editor;
using ESRI.ArcGIS.Framework;
using ESRI.ArcGIS.esriSystem;

namespace RestartSketch
{
&amp;nbsp; /// &amp;lt;summary&amp;gt;
&amp;nbsp; /// Editor Extension to add a context menu item
&amp;nbsp; /// &amp;lt;/summary&amp;gt;
&amp;nbsp; public class RSExt : ESRI.ArcGIS.Desktop.AddIns.Extension
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; private IEditEvents_Event m_editEvents;

&amp;nbsp;&amp;nbsp;&amp;nbsp; public RSExt()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; protected override void OnStartup()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_editEvents = ArcMap.Editor as IEditEvents_Event;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_editEvents.OnStartEditing += new IEditEvents_OnStartEditingEventHandler(m_editEvents_OnStartEditing);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; void m_editEvents_OnStartEditing()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Add to various sketch context menus by guid and bottom up position
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //AddtoContextMenu("{02D578D0-42AB-11d2-84D6-0000F875B9C6}", 3); //straight constructor context menu
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //AddtoContextMenu("{066022E8-A0FD-48e5-AF5D-F5C77E88DD42}", 3); //trace constructor
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //AddtoContextMenu("{68A337DF-751B-45dd-AA39-91194BE88D7C}", 3); //other constructors
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddtoContextMenu("{FD799450-472C-11d2-84D8-0000F875B9C6}", 3); //over a sketch
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; private void AddtoContextMenu(string cmg, int pos)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get the context menu
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UID contextMenuUID = new UIDClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; contextMenuUID.Value = cmg;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ICommandBar contextMenu = ArcMap.Application.Document.CommandBars.Find(contextMenuUID) as ICommandBar;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (contextMenu != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get the command item you want to add
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UID commandUID = new UIDClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; commandUID.Value = "ESRI_RestartSketch_RestartSketchCmd";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Check if it is already present on the context menu...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ICommandItem myCmdItem = contextMenu.Find(commandUID);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (myCmdItem == null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myCmdItem = contextMenu.Add(commandUID, contextMenu.Count - pos);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //myCmdItem.Group = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myCmdItem.Refresh();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }
}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 20:26:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459043#M12428</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-11T20:26:35Z</dc:date>
    </item>
    <item>
      <title>Re: Can you programmatically add a "Add-In" button to a context menu?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459044#M12429</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I was also thinking, "The only trick is finding the guid of the context menu."&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I found the following:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;{BF643199-9062-11D2-AE71-080009EC732A}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;esriArcMapUI.FeatureLayerContextMenu&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;in the &lt;/SPAN&gt;&lt;A href="http://edndoc.esri.com/arcobjects/9.0/default.asp?URL=/arcobjects/9.0/arcgisdevhelp/technicaldocuments/guids/arcmapids.htm"&gt;9.0 documentation for Names and IDs&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I couldn't find it in the similar &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/ArcMap_commands/00010000029s000000/"&gt;10.0 documentation&lt;/A&gt;&lt;SPAN&gt;. Maybe I'm looking in the wrong place?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Dec 2011 23:11:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459044#M12429</guid>
      <dc:creator>JeffreyHamblin</dc:creator>
      <dc:date>2011-12-15T23:11:47Z</dc:date>
    </item>
    <item>
      <title>Re: Can you programmatically add a "Add-In" button to a context menu?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459045#M12430</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Kevin, Sean's example is how you would do this sort of thing but I'd like to point out one major point.&amp;nbsp; Notice in his code how he is using the extension to register an event handler for the OnStartEditing event.&amp;nbsp; In this event, he checks to see if the command is already on the context menu and adds it if it is not.&amp;nbsp; The CommandBars collection is a property of the document, so the toolbars and menus can differ from one document to the next.&amp;nbsp; In your case you would want to listen for the NewDocument and OpenDocument events.&amp;nbsp; In these events you would check the context menu to see if the command needs to be added.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Dec 2011 12:26:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459045#M12430</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-12-16T12:26:56Z</dc:date>
    </item>
    <item>
      <title>Re: Can you programmatically add a "Add-In" button to a context menu?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459046#M12431</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I threw something together, but it isn't working. Here is some C# test code for an Add-In extenstion attempting to add an item to the Feature Layer Context Menu:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
protected override void OnStartup()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; WireEvents();
}

private void WireEvents()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; ArcMap.Events.OpenDocument +=
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new ESRI.ArcGIS.ArcMapUI.IDocumentEvents_OpenDocumentEventHandler(Events_OpenDocument);

&amp;nbsp;&amp;nbsp;&amp;nbsp; ArcMap.Events.NewDocument +=
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new ESRI.ArcGIS.ArcMapUI.IDocumentEvents_NewDocumentEventHandler(Events_NewDocument);
}

void Events_OpenDocument()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Debug.WriteLine("**** Events_OpenDocument ****");
&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadContextMenu();
}

void Events_NewDocument()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Debug.WriteLine("**** Events_NewDocument ****");
&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadContextMenu();
}

private void LoadContextMenu()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; ICommandBars cmdBars = ArcMap.Application.Document.CommandBars;

&amp;nbsp;&amp;nbsp;&amp;nbsp; UID contextMenuUID = new UIDClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp; contextMenuUID.Value = "{BF643199-9062-11D2-AE71-080009EC732A}"; //esriArcMapUI.FeatureLayerContextMenu
&amp;nbsp;&amp;nbsp;&amp;nbsp; ICommandBar contextMenu = cmdBars.Find(contextMenuUID, false, true) as ICommandBar;

&amp;nbsp;&amp;nbsp;&amp;nbsp; if (contextMenu != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get the command item you want to add
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UID commandUID = new UIDClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; commandUID.Value = "Test_TestParaTextButton"; // Add-in button ID

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Check if it is already present on the context menu.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ICommandItem myCmdItem = contextMenu.Find(commandUID, false);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (myCmdItem == null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object pos = contextMenu.Count - 1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myCmdItem = contextMenu.Add(commandUID, ref pos);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //myCmdItem.Group = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myCmdItem.Refresh();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Debug.WriteLine("**** contextMenu is null ****");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

}
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The contextMenu object is null on both calls to the method, so I suspect the GUID is either wrong or no longer supported.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 20:26:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459046#M12431</guid>
      <dc:creator>JeffreyHamblin</dc:creator>
      <dc:date>2021-12-11T20:26:38Z</dc:date>
    </item>
    <item>
      <title>Re: Can you programmatically add a "Add-In" button to a context menu?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459047#M12432</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I believe it's not finding it because you are setting the NoCreate parameter to True for the call to Find.&amp;nbsp; This means it won't create the object if it isn't already created.&amp;nbsp; Context menus are created on demand so there won't be an instance for Find to return unless it creates one.&amp;nbsp; Pass in False and your code should work.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Dec 2011 16:26:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459047#M12432</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-12-16T16:26:12Z</dc:date>
    </item>
    <item>
      <title>Re: Can you programmatically add a "Add-In" button to a context menu?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459048#M12433</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks, Neil! That makes it work. And thanks for the explanation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the corrected line that will fix the prior code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ICommandBar contextMenu = cmdBars.Find(contextMenuUID, false, false) as ICommandBar;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Dec 2011 17:02:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459048#M12433</guid>
      <dc:creator>JeffreyHamblin</dc:creator>
      <dc:date>2011-12-16T17:02:59Z</dc:date>
    </item>
    <item>
      <title>Re: Can you programmatically add a "Add-In" button to a context menu?</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459049#M12434</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Howdy All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; First off, Thank you for all of the great responses...&amp;nbsp; Working through them all, I've come up with a pretty decent solution (It Works!!!)...&amp;nbsp; Code to follow...&amp;nbsp; Here is my class for the extension within the solution:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;Imports ESRI.ArcGIS.ArcMapUI
Imports ESRI.ArcGIS.Framework

Public Class CycleThrough
&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits ESRI.ArcGIS.Desktop.AddIns.Extension

&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub New()

&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub

&amp;nbsp;&amp;nbsp;&amp;nbsp; Protected Overrides Sub OnStartup()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WireEvents()
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub

&amp;nbsp;&amp;nbsp;&amp;nbsp; Protected Overrides Sub OnShutdown()

&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub

&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub WireEvents()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim docEvents As IDocumentEvents_Event
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim mapStatusEvents As IApplicationStatusEvents_Event

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; docEvents = TryCast(My.ArcMap.Application.Document, IDocumentEvents_Event)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddHandler docEvents.NewDocument, AddressOf OnNewDocument
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddHandler docEvents.OpenDocument, AddressOf OnOpenDocument
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If TypeOf My.ArcMap.Application.Document.Parent Is IMxApplication Then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapStatusEvents = TryCast(My.ArcMap.Application.Document.Parent, IApplicationStatusEvents_Event)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddHandler mapStatusEvents.Initialized, AddressOf OnInitialized
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub

&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub OnNewDocument()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetupContext()
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub

&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub OnOpenDocument()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetupContext()
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub

&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub OnInitialized()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetupContext()
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub

&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub SetupContext()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim contextMenuGUID As New UID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; contextMenuGUID.Value = "{BF643199-9062-11D2-AE71-080009EC732A}"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim myContextMenu As ICommandBar = My.ArcMap.Application.Document.CommandBars.Find(contextMenuGUID, False, False)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If myContextMenu IsNot Nothing Then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim commandGUID As New UID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; commandGUID.Value = "LayerCycle_CycleButton"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim myCommandItem As ICommandItem = myContextMenu.Find(commandGUID)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If myCommandItem Is Nothing Then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myCommandItem = myContextMenu.Add(commandGUID, 9) 'the 9 is where I happen to want the button to be, it could be nothing or any other value 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myCommandItem.Refresh()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub

End Class
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hey as a side note...&amp;nbsp; I too could NOT find the appropiate UID for the context menu in the 10.0 Docs...&amp;nbsp; I looked in the ArcObjects site:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//00010000029s000000" rel="nofollow noopener noreferrer" target="_blank"&gt;ArcObjects SDK 10 Microsoft .Net Framework - ArcMap Commands&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hey Sean, you might want to mention to someone that that particular page might be missing some items that were in previous versions i.e. the 9.0 page, where Jeff was able to find it...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So once again, Thank you All for the responses!!!:cool: :cool:&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Kevin Orcutt&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 20:26:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/can-you-programmatically-add-a-amp-quot-add-in-amp/m-p/459049#M12434</guid>
      <dc:creator>KevinOrcutt</dc:creator>
      <dc:date>2021-12-11T20:26:40Z</dc:date>
    </item>
  </channel>
</rss>

