Compartilhar via


Método IOleInPlaceActiveObject::TranslateAccelerator (oleidl.h)

Processa mensagens de tecla de acelerador de menu da fila de mensagens do contêiner. Esse método só deve ser usado para objetos criados por um aplicativo de objeto DLL.

Sintaxe

HRESULT TranslateAccelerator(
  [in] LPMSG lpmsg
);

Parâmetros

[in] lpmsg

Um ponteiro para uma estrutura MSG para a mensagem que pode precisar ser traduzida.

Retornar valor

Esse método retorna S_OK com êxito. Outros valores retornados possíveis incluem o seguinte.

Código de retorno Descrição
S_FALSE
A mensagem não foi traduzida.
E_INVALIDARG
Os valores de parâmetro especificados não são válidos.
E_OUTOFMEMORY
Não há memória suficiente disponível para a operação.
E_UNEXPECTED
Ocorreu um erro inesperado.

Comentários

Anotações para chamadores

Objetos in-loco ativos sempre devem ter a primeira chance de traduzir pressionamentos de teclas de acelerador. Você pode fornecer essa oportunidade chamando IOleInPlaceActiveObject::TranslateAccelerator do loop de mensagem do contêiner antes de fazer qualquer outra tradução. Você deve aplicar sua própria tradução somente quando esse método retornar S_FALSE.

Se você chamar IOleInPlaceActiveObject::TranslateAccelerator para um objeto que não é criado por um aplicativo de objeto DLL, o manipulador de objetos padrão retornará S_FALSE.

Anotações aos implementadores

Um objeto criado por um aplicativo de objeto EXE obtém pressionamentos de tecla de sua própria bomba de mensagem, para que o contêiner não receba essas mensagens.

Se você precisar implementar esse método, poderá fazer isso simplesmente encapsulando a chamada para a função TranslateAccelerator .

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 oleidl.h

Confira também

Ioleinplaceactiveobject

OleTranslateAccelerator

TranslateAccelerator