<?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: Modify (add) to MAIN Toolbar with Addinx files in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399575#M10652</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Anyone ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;No one attempted to modify the Main Bar? add a menu and add a button in the menu with addins?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 30 Jun 2011 13:33:02 GMT</pubDate>
    <dc:creator>MichaelRobb</dc:creator>
    <dc:date>2011-06-30T13:33:02Z</dc:date>
    <item>
      <title>Modify (add) to MAIN Toolbar with Addinx files</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399574#M10651</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi everyone,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Has anyone figured out a way to add a Menu to the MAIN (Root) menu toolbar using Addins?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So a menu in between File and EDIT or after HELP.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I know you can modify the Main Toolbar via ESRIRegAsm com object w/ deployed MSI installable.. but what about ADDINS?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can Create a new Menu ... but then unable to do anything from there...(button wise) in an Extention Addin Setting:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim TopMenuBar As ESRI.ArcGIS.Framework.ICommandBar
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TopMenuBar = GetToolbarByName(My.ArcMap.Application, "esriArcMapUI.MxMenuBar")


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TopMenuBar.CreateMenu("Menu TEST", 1)&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The Main Toolbar {56599DD3-E464-11D1-9496-080009EEBECB}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;esriArcMapUI.MxFileMenu&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks, in advance.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jun 2011 16:17:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399574#M10651</guid>
      <dc:creator>MichaelRobb</dc:creator>
      <dc:date>2011-06-24T16:17:45Z</dc:date>
    </item>
    <item>
      <title>Re: Modify (add) to MAIN Toolbar with Addinx files</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399575#M10652</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Anyone ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;No one attempted to modify the Main Bar? add a menu and add a button in the menu with addins?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jun 2011 13:33:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399575#M10652</guid>
      <dc:creator>MichaelRobb</dc:creator>
      <dc:date>2011-06-30T13:33:02Z</dc:date>
    </item>
    <item>
      <title>Re: Modify (add) to MAIN Toolbar with Addinx files</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399576#M10653</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Bump... Still trying to find a solution to this.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jul 2011 16:12:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399576#M10653</guid>
      <dc:creator>MichaelRobb</dc:creator>
      <dc:date>2011-07-19T16:12:22Z</dc:date>
    </item>
    <item>
      <title>Re: Modify (add) to MAIN Toolbar with Addinx files</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399577#M10654</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Mike,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I haven't worked with the menuing system yet, but I noticed this note at the bottom of the ICommandBar doc page:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;"If you want to create a new menu in a development environment other than VBA, you should implement IMenuDef instead of using ICommandBar.CreateMenu."&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Maybe that will help...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jul 2011 20:27:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399577#M10654</guid>
      <dc:creator>JeffreyHamblin</dc:creator>
      <dc:date>2011-07-19T20:27:13Z</dc:date>
    </item>
    <item>
      <title>Re: Modify (add) to MAIN Toolbar with Addinx files</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399578#M10655</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The whole issue with IMenuDef is the fact Im trying to do this through Addins as stated, which is not structured in that manner. (Am I missing something perhaps?)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Back in the 'old' days... years of doing msi installer packages and registering a compiled dll, I used IMenuDef to alter any arcmap...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is we now have everyone on shared addins, rather than installing and registering dlls using, (esriregasm), as its a headache free updating setup (one update = everyone gets updated on next arcmap setup, via addins or addition of new tools, etc without any babysitting of everyones machines to ensure they uninstall/install etc. correctly.&amp;nbsp; Then go through the entire process again for any found issues.&amp;nbsp; Addins has streamlined the updating tremendously, using shared addins on a visible network drive/folder for all offices.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The first post code works, it adds the menu, but thats where the road ends... unable to add any further Addin Tools.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ill look at it again, but I dont think modifying the Main menu bar is plausible at this time...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have the menu bar receiving the added item via an Addin Extension&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jul 2011 14:10:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399578#M10655</guid>
      <dc:creator>MichaelRobb</dc:creator>
      <dc:date>2011-07-25T14:10:05Z</dc:date>
    </item>
    <item>
      <title>Re: Modify (add) to MAIN Toolbar with Addinx files</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399579#M10656</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Mike,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I find this a little puzzling too.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I use the Add-Ins Wizard in Visual Studio, and add a Menu type Command Bar, there is an option to set it as a Root Menu: "Specifies whether or not this menu is a root menu. Root menus appear on the main menu bar. The File and Edit menus are examples of root menus."&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/Menu_Element/001v00000093000000/"&gt;Menu Config XML Schema&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However, it doesn't show on the main menu bar at startup. I had to open the Customize dialog, select the Commands tab, select "[Menus]", then drag my test menu to the main menu bar.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It seems like there should be a Premiere (showInitially) attribute like toolbars have.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jul 2011 16:03:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399579#M10656</guid>
      <dc:creator>JeffreyHamblin</dc:creator>
      <dc:date>2011-07-25T16:03:06Z</dc:date>
    </item>
    <item>
      <title>Re: Modify (add) to MAIN Toolbar with Addinx files</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399580#M10657</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Jeff,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It is interesting, possibly requiring a fix in newer releases or a WIP?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Funny how writing 15,000 lines of code for some complex task is less frustrating than something you would think is so simple to accomplish, lol.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Perhaps someone else will chime in soon, or you find something I overlooked...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I really dont want to go back to registering dlls methods outside of addins just because of this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for your efforts with this!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jul 2011 16:18:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399580#M10657</guid>
      <dc:creator>MichaelRobb</dc:creator>
      <dc:date>2011-07-25T16:18:54Z</dc:date>
    </item>
    <item>
      <title>Re: Modify (add) to MAIN Toolbar with Addinx files</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399581#M10658</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Mike,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I found a way to push an Add-In menu onto the main menu bar in an Extension Add-In. Below is some raw C# code that seems to work in limited testing. It is based on code from the resource center: &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/d/00010000040w000000.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;Applying user interface customizations at startup&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The steps are:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Use the Add-Ins Wizard in Visual Studio, and add a Menu type Command Bar, set it as a Root Menu, and assign one or more buttons as items.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Use the Add-Ins Wizard in Visual Studio and add an Extension set to autoload.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;3. Replace the guts of the extension class with the following:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
public class TestAddToMainMenu : ESRI.ArcGIS.Desktop.AddIns.Extension
{

&amp;nbsp;&amp;nbsp;&amp;nbsp; public TestAddToMainMenu()
&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;&amp;nbsp;&amp;nbsp; WireEvents();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; protected override void OnShutdown()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; private void WireEvents()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {

&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new ESRI.ArcGIS.ArcMapUI.IDocumentEvents_OpenDocumentEventHandler(Events_OpenDocument);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new ESRI.ArcGIS.ArcMapUI.IDocumentEvents_NewDocumentEventHandler(Events_NewDocument);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IApplicationStatusEvents_Event appStatusEvents = 
&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; ArcMap.Application.Document.Parent as IApplicationStatusEvents_Event;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; appStatusEvents.Initialized += new IApplicationStatusEvents_InitializedEventHandler(Events_Initialized);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; void Events_Initialized()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Need this to load menu when no document loaded at startup
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadCustomMainMenu();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; void Events_OpenDocument()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadCustomMainMenu();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; void Events_NewDocument()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadCustomMainMenu();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; private void LoadCustomMainMenu()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ICommandBar mainMenuBar = GetMainMenuBar();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // make sure we got the main menu bar
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (mainMenuBar == null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // check if our custom menu is already there
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string menuID = "REPLACE WITH MENU ADDIN ID"; // ID of Add-In Root Menu
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ICommandItem cmdItem = mainMenuBar.Find(menuID, false);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // skip out if custom menu already there
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (cmdItem != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.Debug.WriteLine("**** MENU ADDED ****");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Add Menu, if needed
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UID uid = new UIDClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uid.Value = menuID;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object indexObj = Type.Missing; // adds menu at far right
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ICommandBar myMenu = mainMenuBar.Add(uid, ref indexObj) as ICommandBar;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((ICommandItem)mainMenuBar).Refresh();

&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; private ICommandBar GetMainMenuBar()
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try
&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; //Grab the root menu bar
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UID uid = new UIDClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uid.Value = "{1E739F59-E45F-11D1-9496-080009EEBECB}";&amp;nbsp; // Main menubar
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ICommandBars cmdBars = ArcMap.Application.Document.CommandBars;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ICommandItem commandItem = cmdBars.Find(uid, false, false);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return cmdBars.Find(uid, false, false) as ICommandBar;
&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; catch
&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; return null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }


}
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;4. In the &lt;/SPAN&gt;&lt;SPAN style="font-style:italic;"&gt;LoadCustomMainMenu&lt;/SPAN&gt;&lt;SPAN&gt; method, replace the string value for &lt;/SPAN&gt;&lt;SPAN style="font-style:italic;"&gt;menuID&lt;/SPAN&gt;&lt;SPAN&gt; with the exact &lt;/SPAN&gt;&lt;SPAN style="font-style:italic;"&gt;id&lt;/SPAN&gt;&lt;SPAN&gt; value from the &lt;/SPAN&gt;&lt;SPAN style="font-style:italic;"&gt;Menu&lt;/SPAN&gt;&lt;SPAN&gt; section of the &lt;/SPAN&gt;&lt;SPAN style="font-style:italic;"&gt;Config.esriaddinx&lt;/SPAN&gt;&lt;SPAN&gt; file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As I mentioned, this is proof-of-concept code that likely needs refining to make it more robust. But I hope it helps get you started.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:14:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399581#M10658</guid>
      <dc:creator>JeffreyHamblin</dc:creator>
      <dc:date>2021-12-11T18:14:23Z</dc:date>
    </item>
    <item>
      <title>Re: Modify (add) to MAIN Toolbar with Addinx files</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399582#M10659</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Wow!&amp;nbsp; This works!&amp;nbsp; Thanks a ton!&amp;nbsp; Your example, and adjustments all make complete sense.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Handy to have that Acme example as well... thanks for that pointer!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Im no C# guy, so Ill post my vb.net version for anyone else to go over, including yourself&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the config.esriaddinx&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;as usual, create the menu, containing the items &amp;gt; button and Commands containing the button ID&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Autoload = true &amp;gt;&amp;gt; on the extension&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;isRootMenu = true &amp;gt;&amp;gt; on the Menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And here is the vb.net version that works.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;* note I used IndexObject value of 1 to place right beside the FILE choice on the main bar.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;Imports System.Windows.Forms

Imports ESRI.ArcGIS.Framework
Imports ESRI.ArcGIS.esriSystem


Public Class Extension1

&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits ESRI.ArcGIS.Desktop.AddIns.Extension

&amp;nbsp;&amp;nbsp;&amp;nbsp; Private c_mainMenuID As String = "{1E739F59-E45F-11D1-9496-080009EEBECB}" ' Main menubar 

&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; WireDocumentEvents()

&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 WireDocumentEvents()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddHandler My.ArcMap.Events.NewDocument, AddressOf ArcMapNewDocument
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddHandler My.ArcMap.Events.OpenDocument, AddressOf ArcMapOpenDocument

&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub

&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub ArcMapNewDocument()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadCustomMainMenu()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(ex.Message &amp;amp; vbNewLine &amp;amp; "Details: " &amp;amp; ex.StackTrace, "", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try

&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub
&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub ArcMapOpenDocument()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadCustomMainMenu()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(ex.Message &amp;amp; vbNewLine &amp;amp; "Details: " &amp;amp; ex.StackTrace, "", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try

&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub


&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub LoadCustomMainMenu()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim mainMenuBar As ESRI.ArcGIS.Framework.ICommandBar = GetMainMenuBar()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' make sure we got the main menu bar
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If mainMenuBar 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; Return
&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; ' check if our custom menu is already there
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim menuID As String = "FocusToolsToolbar_Addin_v10_ERCBMenu"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' ID of Add-In Root Menu
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim cmdItem As ESRI.ArcGIS.Framework.ICommandItem = mainMenuBar.Find(menuID, False)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' skip out if custom menu already there
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If cmdItem 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; Return
&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; System.Diagnostics.Debug.WriteLine("**** MENU ADDED ****")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Add Menu, if needed
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim uid As ESRI.ArcGIS.esriSystem.UID = New ESRI.ArcGIS.esriSystem.UIDClass()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uid.Value = menuID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim indexObj As [Object] = 1 ' Right beside FILE 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' adds menu one spot in
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim myMenu As ICommandBar = TryCast(mainMenuBar.Add(uid, indexObj), ICommandBar)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DirectCast(mainMenuBar, ESRI.ArcGIS.Framework.ICommandItem).Refresh()

&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub


&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Function GetMainMenuBar() As ICommandBar
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Grab the root menu bar 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim uid As ESRI.ArcGIS.esriSystem.UID = New ESRI.ArcGIS.esriSystem.UIDClass()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uid.Value = c_mainMenuID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim mx As ESRI.ArcGIS.ArcMapUI.MxDocument = DirectCast(My.ArcMap.Application.Document, ESRI.ArcGIS.ArcMapUI.MxDocument)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim cmdBars As ESRI.ArcGIS.Framework.ICommandBars = mx.CommandBars
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim x As ESRI.ArcGIS.Framework.ICommandItem = cmdBars.Find(uid, False, False)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return TryCast(cmdBars.Find(uid, False, False), ICommandBar)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return Nothing
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function

End Class&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:14:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399582#M10659</guid>
      <dc:creator>MichaelRobb</dc:creator>
      <dc:date>2021-12-11T18:14:26Z</dc:date>
    </item>
    <item>
      <title>Re: Modify (add) to MAIN Toolbar with Addinx files</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399583#M10660</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi.&amp;nbsp; Nice thread.&amp;nbsp;&amp;nbsp; I'm wondering if you guys have any ideas on how to get something in the Customize menu drop down.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm trying to but a addin Button in there by finding &lt;/SPAN&gt;&lt;STRONG&gt;esriArcMapUI.MxCustomizeMenu &lt;/STRONG&gt;&lt;SPAN&gt; and then trying to add an item.&amp;nbsp; This only works if i choose customize and drag the item onto another toolbar.&amp;nbsp; Then the OnUpdate starts firing.&amp;nbsp; I can't get the OnUpdate to fire without that being done.&amp;nbsp; I have the onDemand attribute set to false.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; MxAppMngr.Singleton.AddCommandItemToMainMenuCustomizeMenu(ThisAddIn.IDs.AUSettingsButton);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ICommandBar custMenu = MxAppMngr.Singleton.FindMainCustomizeMenu();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (custMenu as ICommandItem).Refresh();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This appears to work, but the button is not on the customize menu when you navigate to it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can, however, add the button as a CommandItem to the MainMenu using almost identical code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyone have any ideas what I'm missing here?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Jan 2012 17:02:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/modify-add-to-main-toolbar-with-addinx-files/m-p/399583#M10660</guid>
      <dc:creator>kyleknoche</dc:creator>
      <dc:date>2012-01-22T17:02:46Z</dc:date>
    </item>
  </channel>
</rss>

