Stub code for adding editing commands to a ToolbarControl.
[C#]
/// <summary> /// Member variables for the editing context menus. /// </summary> /// <remarks></remarks> public ESRI.ArcGIS.Controls.IToolbarMenu m_ToolbarMenuSketch; /// <summary> /// Add editing commands to a ToolbarControl. /// </summary> /// <param name="toolbarControl"></param> /// <remarks> /// Call to add the editing commands to the ToolbarControl /// For example, if a ToolbarControl named axToolbarControl1 exists use the following code: /// AddEditingCommandsToToolbarControl((IToolbarControl)axToolbarControl1.Object); /// </remarks> public void AddEditingCommandsToToolbarControl(ESRI.ArcGIS.Controls.IToolbarControl toolbarControl) { // Add editing commands to ToolbarControl toolbarControl.AddToolbarDef("esriControls.ControlsEditingToolbar", -1, false, 0, ESRI.ArcGIS.SystemUI.esriCommandStyles.esriCommandStyleIconOnly); //Create new ToolbarMenu's m_ToolbarMenuSketch = new ESRI.ArcGIS.Controls.ToolbarMenuClass(); // Share the ToolbarControl's command pool m_ToolbarMenuSketch.CommandPool = toolbarControl.CommandPool; // Add commands items to the ToolbarMenu. m_ToolbarMenuSketch.AddItem("esriControls.ControlsEditingSketchContextMenu", -1, -1, false, ESRI.ArcGIS.SystemUI.esriCommandStyles.esriCommandStyleIconOnly); } /// <summary> /// Popup a ToolbarMenu as a context menu. /// </summary> /// <param name="x">The X screen coordinate where to open the context menu.</param> /// <param name="y">The Y screen coordinate where to open the context menu.</param> /// <param name="hWnd">The MapControld hWnd (Window handle) toolbarControl</param> /// <remarks> /// Call to popup a ToolbarMenu on the display of the ToolbarControl's buddy. /// For example, if axToolbarControl1 is buddied to axMapControl1 use the following /// code from one of the MapControl's mouse events: /// PopupToolbarMenu(e.x, e.y, axMapControl1.hWnd, (IToolbarControl)axToolbarControl1.Object); /// </remarks> public void PopupToolbarMenu(System.Int32 x, System.Int32 y, System.Int32 hWnd, ESRI.ArcGIS.Controls.IToolbarControl toolbarControl) { ESRI.ArcGIS.SystemUI.ICommand command; ESRI.ArcGIS.esriSystem.UIDClass uID = new ESRI.ArcGIS.esriSystem.UIDClass(); //Find the sketch tool in the command pool uID.Value = "esriControls.ControlsEditingSketchTool"; command = toolbarControl.CommandPool.FindByUID(uID); //If the sketch tool is the current tool popup the sketch context menu if (command == toolbarControl.CurrentTool) { m_ToolbarMenuSketch.PopupMenu(x, y, hWnd); return; } }
[Visual Basic .NET]
''' <summary> ''' Member variables for the editing context menus. ''' </summary> ''' <remarks></remarks> Public m_ToolbarMenuSketch As ESRI.ArcGIS.Controls.IToolbarMenu ''' <summary> ''' Add editing commands to a ToolbarControl. ''' </summary> ''' <param name="toolbarControl"></param> ''' <remarks> ''' Call to add the editing commands to the ToolbarControl ''' For example, if a ToolbarControl named axToolbarControl1 exists use the following code: ''' AddEditingCommandsToToolbarControl(CType(axToolbarControl1.Object, IToolbarControl)) ''' </remarks> Public Sub AddEditingCommandsToToolbarControl(ByVal toolbarControl As ESRI.ArcGIS.Controls.IToolbarControl) ' Add editing commands to ToolbarControl toolbarControl.AddToolbarDef("esriControls.ControlsEditingToolbar", -1, False, 0, ESRI.ArcGIS.SystemUI.esriCommandStyles.esriCommandStyleIconOnly) 'Create new ToolbarMenu's m_ToolbarMenuSketch = New ESRI.ArcGIS.Controls.ToolbarMenuClass() ' Share the ToolbarControl's command pool m_ToolbarMenuSketch.CommandPool = toolbarControl.CommandPool ' Add commands items to the ToolbarMenu. m_ToolbarMenuSketch.AddItem("esriControls.ControlsEditingSketchContextMenu", -1, -1, False, ESRI.ArcGIS.SystemUI.esriCommandStyles.esriCommandStyleIconOnly) End Sub ''' <summary> ''' Popup a ToolbarMenu as a context menu. ''' </summary> ''' <param name="x">The X screen coordinate where to open the context menu.</param> ''' <param name="y">The Y screen coordinate where to open the context menu.</param> ''' <param name="hWnd">The MapControld hWnd (Window handle) toolbarControl</param> ''' <remarks> ''' Call to popup a ToolbarMenu on the display of the ToolbarControl's buddy. ''' For example, if axToolbarControl1 is buddied to axMapControl1 use the following ''' code from one of the MapControl's mouse events: ''' PopupToolbarMenu(e.x, e.y, axMapControl1.hWnd, CType(axToolbarControl1.Object, IToolbarControl)) ''' </remarks> Public Sub PopupToolbarMenu(ByVal x As System.Int32, ByVal y As System.Int32, ByVal hWnd As System.Int32, ByVal toolbarControl As ESRI.ArcGIS.Controls.IToolbarControl) Dim command As ESRI.ArcGIS.SystemUI.ICommand Dim uID As ESRI.ArcGIS.esriSystem.UIDClass = New ESRI.ArcGIS.esriSystem.UIDClass() 'Find the sketch tool in the command pool uID.Value = "esriControls.ControlsEditingSketchTool" command = toolbarControl.CommandPool.FindByUID(uID) 'If the sketch tool is the current tool popup the sketch context menu If command Is toolbarControl.CurrentTool Then m_ToolbarMenuSketch.PopupMenu(x, y, hWnd) Return End If End Sub