Función OleTranslateAccelerator (ole2.h)

Llamado por la aplicación de objeto, permite que el contenedor de un objeto traduzca aceleradores según la tabla de aceleradores del contenedor.

Sintaxis

HRESULT OleTranslateAccelerator(
  [in] LPOLEINPLACEFRAME     lpFrame,
  [in] LPOLEINPLACEFRAMEINFO lpFrameInfo,
  [in] LPMSG                 lpmsg
);

Parámetros

[in] lpFrame

Puntero a la interfaz IOleInPlaceFrame a la que se puede enviar la pulsación de tecla.

[in] lpFrameInfo

Puntero a una estructura OLEINPLACEFRAMEINFO que contiene la tabla de aceleradores obtenida del contenedor.

[in] lpmsg

Puntero a una estructura MSG que contiene la pulsación de tecla.

Valor devuelto

Esta función devuelve S_OK si se ejecuta correctamente. Otros valores posibles incluyen lo siguiente.

Código devuelto Descripción
E_FAIL
El objeto debe continuar procesando este mensaje.

Comentarios

Los servidores de objetos llaman a OleTranslateAccelerator para permitir que el contenedor del objeto traduzca pulsaciones de tecla del acelerador según la tabla de aceleración del contenedor, a la que apunta lpFrameInfo. Aunque un objeto contenido es el objeto activo, el servidor del objeto siempre tiene la primera oportunidad de traducir los mensajes recibidos. Si no se desea, el servidor llama a OleTranslateAccelerator para dar al contenedor del objeto una oportunidad. Si la entrada del teclado coincide con un acelerador encontrado en la tabla de aceleradores proporcionada por el contenedor, OleTranslateAccelerator pasa el mensaje y su identificador de comando al contenedor a través del método IOleInPlaceFrame::TranslateAccelerator . Este método devuelve S_OK si se consume la pulsación de tecla; de lo contrario, devuelve S_FALSE.

Las tablas aceleradoras de contenedores deben definirse para que funcionen correctamente con las aplicaciones de objetos que realizan sus propias traducciones de pulsación de tecla de acelerador. Estas tablas deben tener la forma:

"char", wID, VIRTKEY, CONTROL

Esta es la forma más común de describir los aceleradores de teclado. Si no lo hace, es posible que se pierdan o envíen pulsaciones de tecla al objeto incorrecto durante una sesión local.

Los objetos pueden llamar a la función IsAccelerator para ver si la pulsación de tecla del acelerador pertenece al objeto o al contenedor.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ole2.h
Library Ole32.lib
Archivo DLL Ole32.dll
Conjunto de API ext-ms-win-com-ole32-l1-1-3 (introducido en Windows 10, versión 10.0.10240)

Consulte también

IOleInPlaceFrame::TranslateAccelerator

IsAccelerator