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

# XGameUiTextEntryOpen

> XGameUiTextEntryOpen

# XGameUiTextEntryOpen

Ouvre un clavier virtuel pour lequel le titre est responsable de l'affichage du texte. Actuellement
non implémenté sur ordinateur de bureau.

## Syntaxe

```cpp theme={null}
HRESULT XGameUiTextEntryOpen(  
         const XGameUiTextEntryOption* options,
         uint32_t maxLength,
         const char* initialText,
         uint32_t initialCursorIndex,
         XGameUiTextEntryHandle* handle 
)  
```

### Paramètres

*options*   \_In\_\
Type : [XGameUiTextEntryOptions](/fr/reference/system/xgameui/structs/xgameuitextentryoptions)

Indique l'ensemble initial d'options à appliquer au clavier lors de son ouverture, comme son emplacement
et la configuration du clavier.

*maxLength*   \_In\_\
Type : uint32\_t

Nombre maximal de caractères que l'utilisateur peut saisir dans le clavier virtuel. Ce nombre ne doit pas
dépasser 32K.

*initialText*   \_In\_\_opt\_z\_\
Type : const char\*

Chaîne de caractères terminée par un caractère null qui est initialement renseignée dans le clavier virtuel.

*initialCursorIndex*   \_In\_\
Type : uint32\_t

Index en octets initial du curseur par rapport au caractère de début.

*handle*   \_Out\_\
Type : XGameUiTextEntryHandle

Handle du clavier virtuel nouvellement ouvert.

### Valeur de retour

Type : HRESULT

Code de réussite ou d'erreur HRESULT. Pour obtenir la liste des codes d'erreur, consultez [Codes d'erreur](/fr/reference/errorcodes).

| Code de retour | Description |
| - | - |
| S\_OK | L'opération a réussi. |
| E\_ACCESSDENIED | Une boîte de dialogue est déjà affichée. |

## Remarques

Cette fonction retourne dès qu'elle peut obtenir le handle, même si le clavier virtuel n'est pas encore
visible. Toutes les autres fonctions **XGameUiTextEntry** peuvent être appelées en toute sécurité dès que le handle est
retourné.

L'exemple suivant illustre les principes de base de l'utilisation des fonctions **XGameUiTextEntry**.

```cpp theme={null}
// Somewhere in the main game loop
// ...
bool someSignal;
bool showingKeyboard;
uint32_t KEYBOARD_MAX_CHARACTERS = 256; 
uint32_t KEYBOARD_BUFFER_SIZE = KEYBOARD_MAX_CHARACTERS * 4;

XGameUiTextEntryHandle keyboardInstance;

if (someSignal)
{
    XGameUiTextEntryOptions options;
    options.inputScope = XGameUiTextEntryInputScope::Default;
    options.positionHint = XGameUiTextEntryPositionHint::Bottom;
    options.flags = XGameUiTextEntryVisibilityFlags::Default;

    if (SUCCEEDED(XGameUiTextEntryOpen(&options, 
                                       nullptr, 
                                       0, 
                                       KEYBOARD_MAX_CHARACTERS, 
                                       &keyboardInstance)))
    {
        showingKeyboard = true;
    }
}

if (showingKeyboard)
{
    char* buffer[KEYBOARD_BUFFER_SIZE];
    uint32_t cursorPosition;
    XGameUiTextEntryChangeTypeFlags changeType;

    if (SUCCEEDED(XGameUiTextEntryGetState(
        keyboardInstance,
        &changeType,
        &cursorPosition,
        nullptr,
        nullptr,
        KEYBOARD_BUFFER_SIZE,
        buffer)))
    {
        if (changeType & XGameUiTextEntryChangeTypeFlags::TextChanged)
        {
            // Copy text for in-game rendering
            RenderTextInGame(buffer, cursorPosition);

            // Assuming the game doesn't want multi-line input
            if (strstr(buffer, "\n")
            {
                XGameUiTextEntryClose(keyboardInstance);
                showingKeyboard = false;
            }
        }

        if (showingKeyboard && (changeType & XGameUiTextEntryChangeTypeFlags::KeyboardDismissed))
        {
            XGameUiTextEntryClose(keyboardInstance);
            showingKeyboard = false;
        }    
    }
}
```

## Configuration requise

**En-tête :** XGameUI.h

**Bibliothèque :** xgameruntime.lib

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[XGameUI](/fr/reference/system/xgameui/xgameui_members)\
[Prise en charge du clavier virtuel](/fr/build/core-features/common/input/overviews/virtualkeyboardsupport)


## Related topics

- [XGameUiTextEntryOpen](/reference/system/xgameui/functions/xgameuitextentryopen.md)
- [XGameUiTextEntryOptions](/reference/system/xgameui/structs/xgameuitextentryoptions.md)
- [XGameUiTextEntryClose](/reference/system/xgameui/functions/xgameuitextentryclose.md)
