Create a context or popup menu dynamically using some default command items.
[C#]
///<summary>Create a context or popup menu dynamically using some default command items.</summary> /// ///<param name="application">An IApplication Interface.</param> /// ///<remarks>Three default command items are added to the ContextMenu. Change the CLSID or ProgID as necessary for your specific command items.</remarks> public void CreateContextMenu(ESRI.ArcGIS.Framework.IApplication application) { ESRI.ArcGIS.Framework.ICommandBars commandBars = application.Document.CommandBars; ESRI.ArcGIS.Framework.ICommandBar commandBar = commandBars.Create("TemporaryContextMenu", ESRI.ArcGIS.SystemUI.esriCmdBarType.esriCmdBarTypeShortcutMenu); System.Object optionalIndex = System.Type.Missing; ESRI.ArcGIS.esriSystem.UID uid = new ESRI.ArcGIS.esriSystem.UIDClass(); uid.Value = "esriArcMapUI.ZoomInFixedCommand"; // Can use CLSID or ProgID uid.SubType = 0; commandBar.Add(uid, ref optionalIndex); uid.Value = "{FBF8C3FB-0480-11D2-8D21-080009EE4E51}"; // Can use CLSID or ProgID uid.SubType = 1; commandBar.Add(uid, ref optionalIndex); uid.Value = "{FBF8C3FB-0480-11D2-8D21-080009EE4E51}"; // Can use CLSID or ProgID uid.SubType = 2; commandBar.Add(uid, ref optionalIndex); //Show the context menu at the current mouse location System.Drawing.Point currentLocation = System.Windows.Forms.Form.MousePosition; commandBar.Popup(currentLocation.X, currentLocation.Y); }
[Visual Basic .NET]
'''<summary>Create a context or popup menu dynamically using some default command items.</summary> ''' '''<param name="application">An IApplication Interface.</param> ''' '''<remarks>Three default command items are added to the ContextMenu. Change the CLSID or ProgID as necessary for your specific command items.</remarks> Public Sub CreateContextMenu(ByVal application As ESRI.ArcGIS.Framework.IApplication) Dim commandBars As ESRI.ArcGIS.Framework.ICommandBars = application.Document.CommandBars Dim commandBar As ESRI.ArcGIS.Framework.ICommandBar = commandBars.Create("TemporaryContextMenu", ESRI.ArcGIS.SystemUI.esriCmdBarType.esriCmdBarTypeShortcutMenu) Dim optionalIndex As System.Object = System.Type.Missing Dim uid As ESRI.ArcGIS.esriSystem.UID = New ESRI.ArcGIS.esriSystem.UIDClass uid.Value = "esriArcMapUI.ZoomInFixedCommand" ' Can use CLSID or ProgID uid.SubType = 0 commandBar.Add(UID, optionalIndex) uid.Value = "{FBF8C3FB-0480-11D2-8D21-080009EE4E51}" ' Can use CLSID or ProgID uid.SubType = 1 commandBar.Add(UID, optionalIndex) uid.Value = "{FBF8C3FB-0480-11D2-8D21-080009EE4E51}" ' Can use CLSID or ProgID uid.SubType = 2 commandBar.Add(uid, optionalIndex) ' Show the context menu at the current mouse location Dim currentLocation As System.Drawing.Point = System.Windows.Forms.Form.MousePosition commandBar.Popup(currentLocation.X, currentLocation.Y) End Sub