Share via


Méthode IAccessible ::get_accKeyboardShortcut (oleacc.h)

La méthode IAccessible ::get_accKeyboardShortcut récupère la touche de raccourci ou la clé d’accès de l’objet spécifié, également appelée mnémonique. Tous les objets qui ont une touche de raccourci ou une clé d’accès prennent en charge cette propriété.

Syntaxe

HRESULT get_accKeyboardShortcut(
  [in]          VARIANT varChild,
  [out, retval] BSTR    *pszKeyboardShortcut
);

Paramètres

[in] varChild

Type : VARIANT

Spécifie si le raccourci clavier récupéré appartient à l’objet ou à l’un des éléments enfants de l’objet. Ce paramètre est soit CHILDID_SELF (pour obtenir des informations sur l’objet) soit un ID enfant (pour obtenir des informations sur l’élément enfant de l’objet). Pour plus d’informations sur l’initialisation du VARIANT, consultez Utilisation des ID enfants dans les paramètres.

[out, retval] pszKeyboardShortcut

Type : BSTR*

Adresse d’un BSTR qui reçoit une chaîne localisée qui identifie le raccourci clavier, ou NULL si aucun raccourci clavier n’est associé à l’objet spécifié.

Valeur retournée

Type : HRESULT

En cas de réussite, retourne S_OK.

En cas de non-réussite, retourne l’une des valeurs de la table qui suit ou un autre code d’erreur COM standard. Les serveurs retournent ces valeurs, mais les clients doivent toujours case activée paramètres de sortie pour s’assurer qu’ils contiennent des valeurs valides. Pour plus d’informations, consultez Vérification des valeurs de retour IAccessibles.

Erreur Description
S_FALSE
L’objet n’a pas de raccourci clavier associé.
E_INVALIDARG
Un argument n’est pas valide.
DISP_E_MEMBERNOTFOUND
L’objet ne prend pas en charge cette propriété.

Remarques

Une clé d’accès est un caractère souligné dans le texte d’un menu, d’un élément de menu ou d’une étiquette d’un bouton ou d’un autre contrôle. Par exemple, un utilisateur peut afficher un menu en appuyant sur la touche ALT tout en appuyant également sur la touche soulignée indiquée, par exemple ALT+F pour ouvrir le menu File. Pour utiliser la clé d’accès d’un élément de menu, le menu qui contient l’élément doit être actif.

Les contrôles tels que les boutons de barre d’outils et les éléments de menu ont souvent une touche de raccourci associée, également appelée accélérateur de clavier. Certains éléments de menu peuvent avoir à la fois une touche d’accès et une touche de raccourci, et d’autres peuvent n’en avoir qu’une seule. Par exemple, un élément de menu appelé New a une touche d’accès N et une touche de raccourci Ctrl+N. Le menu n’a pas besoin d’être actif pour que la touche de raccourci fonctionne.

Remarque aux développeurs clients :

Si cette propriété retourne un seul caractère, vous ne pouvez pas supposer qu’il s’agit d’une touche d’accès ou d’un raccourci clavier. Avec les éléments de menu standard, la clé d’accès est retournée par IAccessible ::get_accKeyboardShortcut, et la touche de raccourci est retournée dans le cadre du nom de l’élément de menu retourné à partir de IAccessible ::get_accName. En général, les touches d’accès ont tendance à être définies comme ALT + <lettre>, et les raccourcis clavier ont tendance à être CTRL + <lettre>.

Remarque aux développeurs de serveurs : Si l’élément d’interface utilisateur peut recevoir le focus clavier, vous devez exposer la touche d’accès de l’élément. Si l’élément d’interface utilisateur ne peut pas recevoir le focus clavier (par exemple, les icônes de barre d’outils), vous devez afficher la touche de raccourci.

Étant donné que les touches de raccourci sont généralement déterminées par l’application plutôt que par le contrôle lui-même, les serveurs peuvent généralement retourner la valeur obtenue à partir de l’objet accessible standard pour la fenêtre.

Exemple de client

L’exemple de fonction suivant récupère le raccourci clavier pour l’objet accessible spécifié, ou l’un de ses enfants, et l’imprime dans la console.

HRESULT PrintShortcut(IAccessible* pAcc, long child)
{
    if (pAcc == NULL)
    {
        return E_INVALIDARG;
    }
    BSTR bstrShortcut;
    VARIANT varObj;
    varObj.vt = VT_I4;
    varObj.lVal = child;
    HRESULT hr = pAcc->get_accKeyboardShortcut(varObj, &bstrShortcut);
    if (hr == S_OK)
    {
        printf("Shortcut: %S\n", bstrShortcut);
        SysFreeString(bstrShortcut);
    }
    return hr;
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête oleacc.h
Bibliothèque Oleacc.lib
DLL Oleacc.dll
Composant redistribuable Active Accessibility 1.3 RDK sur Windows NT 4.0 avec SP6 et versions ultérieures et Windows 95

Voir aussi

Iaccessible

IAccessible ::get_accName

KeyboardShortcut, propriété

VARIANTE