> ## 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.

# Sur commande de l’utilisateur

> Ajoutez des éléments de menu personnalisés et des boutons de barre d’outils à l’aide de l’événement Sur commande de l’utilisateur dans FlexiCapture, avec les identifiants CI_UserCommand et un exemple de code du gestionnaire.

<div id="when-it-is-launched">
  ## Lors de son déclenchement
</div>

L’événement se produit lors de l’appel d’une commande utilisateur (à condition qu’un élément correspondant ait été ajouté au menu principal ou à la barre d’outils).

Les identifiants des commandes utilisateur peuvent être représentés sous la forme **CI\_UserCommand** **+ \<entier non négatif>**.

<div id="parameters">
  ## Paramètres
</div>

| **Nom**   | **Type**                                                            | **Accès**        | **Description**                          |
| --------- | ------------------------------------------------------------------- | ---------------- | ---------------------------------------- |
| CommandId | [TCommandID](/fr/flexi-capture/appendix/scripts-shell/tcommandid)   | Lecture/écriture | L'identifiant de la commande utilisateur |
| Context   | [IMainWindow](/fr/flexi-capture/appendix/scripts-shell/imainwindow) | Lecture/écriture | La fenêtre principale de l'application   |

<Note>
  Pour ajouter une commande utilisateur au menu principal ou sur la barre d'outils, vous devez utiliser respectivement les méthodes **AppendItem / InsertItem** et **AppendButton /InsertButton** des interfaces [IMenu](/fr/flexi-capture/appendix/scripts-shell/imenu) et [IToolbar](/fr/flexi-capture/appendix/scripts-shell/itoolbar). Il faut utiliser les identifiants de commande **CI\_UserCommand** ou **CI\_UserCommand** **+ \<entier non négatif>**.
</Note>

L'exemple de code ci-dessous montre comment ajouter un élément de menu pour une commande utilisateur avec l'identifiant de commande **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 bouton de barre d’outils ou un élément de menu ajouté pour une commande utilisateur sera désactivé, à moins qu’un gestionnaire pour l’événement Sur commande de l’utilisateur n’ait été ajouté.

L’exemple de code ci-dessous montre comment traiter l’événement Sur commande de l’utilisateur.

```
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 ...>
```
