> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# On User Command

> Añada elementos de menú personalizados y botones personalizados de la Toolbar con el evento On User Command en FlexiCapture, mediante identificadores CI_UserCommand y código de ejemplo del controlador.

<div id="when-it-is-launched">
  ## Cuándo se activa
</div>

El evento se produce al invocar un comando de usuario (siempre que se haya añadido un elemento correspondiente al menú principal o a la Toolbar).

Los identificadores de los comandos de usuario pueden representarse con la forma **CI\_UserCommand** **+ \<entero no negativo>**.

<div id="parameters">
  ## Parámetros
</div>

| **Name**  | **Tipo**                                                            | **Acceso**        | **Description**                         |
| --------- | ------------------------------------------------------------------- | ----------------- | --------------------------------------- |
| CommandId | [TCommandID](/es/flexi-capture/appendix/scripts-shell/tcommandid)   | Lectura/escritura | El identificador del comando de usuario |
| Context   | [IMainWindow](/es/flexi-capture/appendix/scripts-shell/imainwindow) | Lectura/escritura | La ventana principal de la aplicación   |

<Note>
  Para agregar un comando de usuario al menú principal o a la Toolbar, debe usar los métodos **AppendItem / InsertItem** y **AppendButton /InsertButton** de la interfaz [IMenu](/es/flexi-capture/appendix/scripts-shell/imenu) y la interfaz [IToolbar](/es/flexi-capture/appendix/scripts-shell/itoolbar), respectivamente. Deben utilizarse los identificadores de comando **CI\_UserCommand** o **CI\_UserCommand** **+ \<entero no negativo>**.
</Note>

El siguiente código de ejemplo muestra cómo agregar un elemento de menú para un comando de usuario con el identificador de comando **CI\_UserCommand + 1**.

```
ABBYY.FlexiCapture.ClientUI.TCommandID userCommand = ABBYY.FlexiCapture.ClientUI.TCommandID.CI_UserCommand;
ABBYY.FlexiCapture.ClientUI.TCommandID userCommand1 = (ABBYY.FlexiCapture.ClientUI.TCommandID) ((int)userCommand + 1);
IMenu menu = MainWindow.MainMenu[0].Submenu;
menu.AppendItem( userCommand1, "User command" );
```

Un botón de la Toolbar o un elemento de menú añadido para un comando de usuario estará deshabilitado, a menos que se agregue un controlador para el evento On User Command.

El código de ejemplo siguiente muestra cómo procesar el evento On User Command.

```
ABBYY.FlexiCapture.ClientUI.TCommandID commandID = ( ABBYY.FlexiCapture.ClientUI.TCommandID )( CommandId );
ABBYY.FlexiCapture.ClientUI.TCommandID userCommand = ABBYY.FlexiCapture.ClientUI.TCommandID.CI_UserCommand;
ABBYY.FlexiCapture.ClientUI.TCommandID userCommand1 = (ABBYY.FlexiCapture.ClientUI.TCommandID) ((int)userCommand + 1);
if( commandID == userCommand1 ) {
<... call necessary methods here ...>
```
