Função OleTranslateAccelerator (ole2.h)

Chamado pelo aplicativo de objeto, permite que o contêiner de um objeto traduza aceleradores de acordo com a tabela de aceleradores do contêiner.

Sintaxe

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

Parâmetros

[in] lpFrame

Ponteiro para a interface IOleInPlaceFrame para a qual o pressionamento de teclas pode ser enviado.

[in] lpFrameInfo

Ponteiro para uma estrutura OLEINPLACEFRAMEINFO que contém a tabela de aceleradores obtida do contêiner.

[in] lpmsg

Ponteiro para uma estrutura MSG que contém o pressionamento de teclas.

Retornar valor

Essa função retorna S_OK em caso de êxito. Outros valores possíveis incluem o seguinte.

Código de retorno Descrição
E_FAIL
O objeto deve continuar processando essa mensagem.

Comentários

Os servidores de objetos chamam OleTranslateAccelerator para permitir que o contêiner do objeto traduza pressionamentos de teclas de acelerador de acordo com a tabela de aceleradores do contêiner, apontada por lpFrameInfo. Embora um objeto independente seja o objeto ativo, o servidor do objeto sempre tem a primeira chance de traduzir todas as mensagens recebidas. Se isso não for desejado, o servidor chamará OleTranslateAccelerator para dar uma chance ao contêiner do objeto. Se a entrada do teclado corresponder a um acelerador encontrado na tabela de aceleradores fornecida pelo contêiner, OleTranslateAccelerator passará a mensagem e seu identificador de comando para o contêiner por meio do método IOleInPlaceFrame::TranslateAccelerator . Esse método retornará S_OK se o pressionamento de tecla for consumido; caso contrário, retornará S_FALSE.

As tabelas de aceleradores para contêineres devem ser definidas para que funcionem corretamente com aplicativos de objeto que fazem suas próprias traduções de pressionamento de teclas de acelerador. Essas tabelas devem assumir o formato:

"char", wID, VIRTKEY, CONTROL

Essa é a maneira mais comum de descrever aceleradores de teclado. Não fazer isso pode fazer com que os pressionamentos de tecla sejam perdidos ou enviados para o objeto errado durante uma sessão in-loco.

Os objetos podem chamar a função IsAccelerator para ver se o pressionamento de tecla do acelerador pertence ao objeto ou ao contêiner.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ole2.h
Biblioteca Ole32.lib
DLL Ole32.dll
Conjunto de APIs ext-ms-win-com-ole32-l1-1-3 (introduzido no Windows 10, versão 10.0.10240)

Confira também

IOleInPlaceFrame::TranslateAccelerator

IsAccelerator