IOleInPlaceActiveObject::TranslateAccelerator-Methode (oleidl.h)
Verarbeitet Menübeschleunigungsmeldungen aus der Nachrichtenwarteschlange des Containers. Diese Methode sollte nur für Objekte verwendet werden, die von einer DLL-Objektanwendung erstellt wurden.
Syntax
HRESULT TranslateAccelerator(
[in] LPMSG lpmsg
);
Parameter
[in] lpmsg
Ein Zeiger auf eine MSG-Struktur für die Nachricht, die möglicherweise übersetzt werden muss.
Rückgabewert
Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:
Rückgabecode | Beschreibung |
---|---|
|
Die Nachricht wurde nicht übersetzt. |
|
Die angegebenen Parameterwerte sind ungültig. |
|
IEs ist nicht genügend Arbeitsspeicher für den Vorgang verfügbar. |
|
Ein unerwarteter Fehler ist aufgetreten. |
Hinweise
Hinweise für Anrufer
Aktive in-situ-Objekte müssen immer die erste Chance erhalten, Tastenkombinationen zu übersetzen. Sie können diese Möglichkeit bieten, indem Sie IOleInPlaceActiveObject::TranslateAccelerator aus der Nachrichtenschleife Ihres Containers aufrufen, bevor Sie eine andere Übersetzung durchführen. Sie sollten Ihre eigene Übersetzung nur anwenden, wenn diese Methode S_FALSE zurückgibt.Wenn Sie IOleInPlaceActiveObject::TranslateAccelerator für ein Objekt aufrufen, das nicht von einer DLL-Objektanwendung erstellt wird, gibt der Standardobjekthandler S_FALSE zurück.
Hinweise zu Implementierern
Ein von einer EXE-Objektanwendung erstelltes Objekt ruft Tastatureingaben von einer eigenen Nachrichtenpumpe ab, sodass der Container diese Nachrichten nicht erhält.Wenn Sie diese Methode implementieren müssen, können Sie dies tun, indem Sie einfach den Aufruf der TranslateAccelerator-Funktion umschließen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | oleidl.h |