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

El método IAccessible::get_accKeyboardShortcut recupera la tecla de acceso directo o la tecla de acceso del objeto especificado, también conocida como mnemonic. Todos los objetos que tienen una tecla de método abreviado o una clave de acceso admiten esta propiedad.

Sintaxis

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

Parámetros

[in] varChild

Tipo: VARIANT

Especifica si el método abreviado de teclado recuperado pertenece al objeto o a uno de los elementos secundarios del objeto. Este parámetro es CHILDID_SELF (para obtener información sobre el objeto) o un identificador secundario (para obtener información sobre el elemento secundario del objeto). Para obtener más información sobre cómo inicializar variant, vea Cómo se usan los identificadores secundarios en parámetros.

[out, retval] pszKeyboardShortcut

Tipo: BSTR*

Dirección de un BSTR que recibe una cadena localizada que identifica el método abreviado de teclado o NULL si no hay ningún método abreviado de teclado asociado al objeto especificado.

Valor devuelto

Tipo: HRESULT

Si se ejecuta correctamente, devuelve S_OK.

Si no se ejecuta correctamente, devuelve uno de los valores de la tabla siguiente u otro código de error COM estándar. Los servidores devuelven estos valores, pero los clientes siempre deben comprobar los parámetros de salida para asegurarse de que contienen valores válidos. Para obtener más información, vea Comprobación de valores devueltos de IAccessible.

Error Descripción
S_FALSE
El objeto no tiene un método abreviado de teclado asociado.
E_INVALIDARG
Un argumento no es válido.
DISP_E_MEMBERNOTFOUND
El objeto no admite esta propiedad.

Comentarios

Una tecla de acceso es un carácter subrayado en el texto de un menú, un elemento de menú o una etiqueta de un botón o de otro control. Por ejemplo, un usuario puede mostrar un menú presionando la tecla ALT mientras presiona también la tecla subrayado indicada, como ALT+F para abrir el menúF ile. Para usar la tecla de acceso de un elemento de menú, el menú que contiene el elemento debe estar activo.

Los controles como los botones de la barra de herramientas y los elementos de menú suelen tener una tecla de método abreviado asociada, también conocida como acelerador de teclado. Algunos elementos de menú pueden tener una tecla de acceso y una tecla de método abreviado, y algunas pueden tener solo una. Por ejemplo, un elemento de menú denominado New tiene una tecla de acceso N y una tecla de método abreviado CTRL+N. El menú no tiene que estar activo para que la tecla de método abreviado funcione.

Tenga en cuenta a los desarrolladores cliente:

Si esta propiedad devuelve un solo carácter, no se puede suponer que es una tecla de acceso o un método abreviado de teclado. Con los elementos de menú estándar, IAccessible::get_accKeyboardShortcut devuelve la tecla de acceso directo como parte del nombre del elemento de menú devuelto desde IAccessible::get_accName. En general, las teclas de acceso tienden a definirse como ALT + <letra> y los métodos abreviados de teclado tienden a ser CTRL + <letra>.

Nota para los desarrolladores de servidores: Si el elemento de la interfaz de usuario puede recibir el foco del teclado, debe exponer la tecla de acceso para el elemento. Si el elemento de la interfaz de usuario no puede recibir el foco del teclado (como los iconos de la barra de herramientas), debe mostrar la tecla de método abreviado.

Dado que las teclas de método abreviado suelen determinarse por la aplicación en lugar de por el propio control, los servidores normalmente pueden devolver el valor obtenido del objeto accesible estándar para la ventana.

Ejemplo de cliente

La siguiente función de ejemplo recupera el método abreviado de teclado para el objeto accesible especificado, o uno de sus elementos secundarios, y lo imprime en la consola.

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;
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado oleacc.h
Library Oleacc.lib
Archivo DLL Oleacc.dll
Redistribuible RDK de accesibilidad activa 1.3 en Windows NT 4.0 con SP6 y versiones posteriores y Windows 95

Consulte también

IAccessible

IAccessible::get_accName

KeyboardShortcut (propiedad)

VARIANT