This document is archived and information here might be outdated.  Recommended version.


IAcceleratorTable.Add Method (ArcObjects .NET 10.4 SDK)
ArcObjects Library Reference (Framework)  

IAcceleratorTable.Add Method

Adds a new accelerator to the accelerator table.

[Visual Basic .NET]
Public Function Add ( _
    ByVal ID As Object, _
    ByVal Key As Integer, _
    [ByVal bCtrl As Boolean], _
    [ByVal bAlt As Boolean], _
    [ByVal bShift As Boolean] _
) As Boolean
[C#]
public bool Add (
    object ID,
    int Key,
    bool bCtrl,
    bool bAlt,
    bool bShift
);
[C#]

Optional Values

bCtrl   Supply false as a default value.
bAlt   Supply false as a default value.
bShift   Supply false as a default value.

Product Availability

Available with ArcGIS Desktop.

Description

ID specifies the unique identifier of the command that this accelerator activates. For built-in commands, use the UID. For VBA macros and UIControls, use a string representing the full name of the command.


Key specifies the keycode used for this accelerator. Use the Visual Basic Key Code constants for the value of Key.


bCtrl Use True if the Ctrl key is one of the keys used in the accelerator; otherwise use False.


bAlt Use True if the Alt key is one of the keys used in the accelerator; otherwise use False.


bShift Use True if the Shift key is one of the keys used in the accelerator; otherwise use False.

Remarks

In VBA, you can use the builtin ArcID module to find the unique identifier for a particular command.

In the following example, the keyboard accelerator CTRL+A is assigned to the built-in ArcMap Add Data command. You would get m_app from the hook in ICommand::OnCreate() .

[C#]

IAcceleratorTable pAccTable=m_app.Document.Accelerators;
UID uid=new UIDClass();
uid.Value="{E1F29C6B-4E6B-11D2-AE2C-080009EC732A}";

bool addedAcc=pAccTable.Add(uid, System.Convert.ToInt32(System.Windows.Forms.Keys.A), true, false, false) ;

[Visual Basic .NET]

Dim pAccTable As IAcceleratorTable=m_app.Document.Accelerators
Dim uid As UID=New UIDClass()
uid.Value="{E1F29C6B-4E6B-11D2-AE2C-080009EC732A}"

Dim addedAcc As Boolean=pAccTable.Add(uid, System.Convert.ToInt32(System.Windows.Forms.Keys.A), True, False, False)

See Also

IAcceleratorTable Interface | IAccelerator Interface