Метод IOleInPlaceActiveObject::TranslateAccelerator (oleidl.h)

Обрабатывает сообщения с клавишей акселератора меню из очереди сообщений контейнера. Этот метод следует использовать только для объектов, созданных приложением объектов DLL.

Синтаксис

HRESULT TranslateAccelerator(
  [in] LPMSG lpmsg
);

Параметры

[in] lpmsg

Указатель на структуру MSG для сообщения, которое может потребоваться перевести.

Возвращаемое значение

Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.

Код возврата Описание
S_FALSE
Сообщение не было переведено.
E_INVALIDARG
Указанные значения параметров недопустимы.
E_OUTOFMEMORY
IThere недостаточно памяти, доступной для операции.
E_UNEXPECTED
Произошла непредвиденная ошибка.

Комментарии

Примечания к вызывающим абонентам

Активным объектам на месте всегда должна быть предоставлена первая возможность преобразования нажатий клавиш ускорителя. Эту возможность можно предоставить, вызвав IOleInPlaceActiveObject::TranslateAccelerator из цикла сообщений контейнера, прежде чем выполнять другой перевод. Собственный перевод следует применять только в том случае, если этот метод возвращает S_FALSE.

При вызове IOleInPlaceActiveObject::TranslateAccelerator для объекта, который не создан приложением объекта DLL, обработчик объектов по умолчанию возвращает S_FALSE.

Примечания для разработчиков

Объект, созданный приложением-объектом EXE, получает нажатия клавиш из собственного насоса сообщений, поэтому контейнер не получает эти сообщения.

Если необходимо реализовать этот метод, это можно сделать, просто упаковав вызов функции TranslateAccelerator .

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header oleidl.h

См. также раздел

IOleInPlaceActiveObject

OleTranslateAccelerator

TranslateAccelerator