IOleInPlaceFrame::TranslateAccelerator-Methode (oleidl.h)
Übersetzt Tastenkombinationen, die für den Frame des Containers vorgesehen sind, während ein Objekt aktiv ist.
Syntax
HRESULT TranslateAccelerator(
[in] LPMSG lpmsg,
[in] WORD wID
);
Parameter
[in] lpmsg
Ein Zeiger auf die MSG-Struktur , die die Tastatureingabemeldung enthält.
[in] wID
Der Befehlsbezeichnerwert, der der Tastatureingabe in der vom Container bereitgestellten Zugriffstastentabelle entspricht. Container sollten diesen Wert verwenden, anstatt erneut zu übersetzen.
Rückgabewert
Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:
Rückgabecode | Beschreibung |
---|---|
|
Die Tastatureingabe wurde nicht verwendet. |
|
Der angegebene Zeiger ist ungültig. |
|
Ein unerwarteter Fehler ist aufgetreten. |
Hinweise
Hinweise für Anrufer
Die IOleInPlaceFrame::TranslateAccelerator-Methode wird indirekt von OleTranslateAccelerator aufgerufen, wenn eine für den Container (Frame) vorgesehene Tastenkombination empfangen wird.Hinweise für Implementierer
Die Containeranwendung sollte die übliche Beschleunigerverarbeitung ausführen oder wID direkt verwenden und dann zurückgeben, um anzugeben, ob die Tastenkombination verarbeitet wurde. Wenn der Container eine MDI-Anwendung ist und die TranslateAccelerator-Funktion fehlschlägt, kann der Container die TranslateMDISysAccel-Funktion aufrufen, genau wie bei der üblichen Nachrichtenverarbeitung.Direkte Objekte sollten die erste Möglichkeit erhalten, Beschleunigermeldungen zu übersetzen. Da von DLL-Objektanwendungen implementierte Objekte jedoch keine eigene Nachrichtenpumpe haben, erhalten sie ihre Nachrichten aus der Nachrichtenwarteschlange des Containers. Um sicherzustellen, dass das Objekt die erste Chance beim Übersetzen von Nachrichten hat, sollte ein Container immer IOleInPlaceFrame::TranslateAccelerator aufrufen, bevor er seine eigene Beschleunigerübersetzung durchführt. Umgekehrt sollte eine ausführbare Objektanwendung OleTranslateAccelerator aufrufen, nachdem TranslateAccelerator aufgerufen wurde und TranslateMessage und DispatchMessage nur dann aufgerufen werden, wenn beide Übersetzungsfunktionen fehlschlagen.
Sie sollten Zugriffstastentabellen für Container definieren, damit sie ordnungsgemäß mit Objektanwendungen funktionieren, die ihre eigenen Tastenkombinationsübersetzungen durchführen. Tabellen sollten wie folgt definiert werden.
"char", wID, VIRTKEY, CONTROL
Dies ist die am häufigsten verwendete Methode zum Beschreiben von Tastenkombinationen. Andernfalls können Tastaturanschläge während einer direkten Sitzung verloren gehen oder an das falsche Objekt gesendet werden.
Anforderungen
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 |