OleTranslateAccelerator, fonction (ole2.h)
Appelé par l’application objet, permet au conteneur d’un objet de traduire les accélérateurs en fonction de la table d’accélérateur du conteneur.
Syntaxe
HRESULT OleTranslateAccelerator(
[in] LPOLEINPLACEFRAME lpFrame,
[in] LPOLEINPLACEFRAMEINFO lpFrameInfo,
[in] LPMSG lpmsg
);
Paramètres
[in] lpFrame
Pointeur vers l’interface IOleInPlaceFrame à laquelle la séquence de touches peut être envoyée.
[in] lpFrameInfo
Pointeur vers une structure OLEINPLACEFRAMEINFO contenant la table d’accélérateur obtenue à partir du conteneur.
[in] lpmsg
Pointeur vers une structure MSG contenant la séquence de touches.
Valeur retournée
Cette fonction retourne S_OK en cas de réussite. Les autres valeurs possibles sont les suivantes.
Code de retour | Description |
---|---|
|
L’objet doit continuer à traiter ce message. |
Remarques
Les serveurs d’objets appellent OleTranslateAccelerator pour permettre au conteneur de l’objet de traduire les séquences de touches d’accélérateur en fonction de la table d’accélérateur du conteneur, pointée par lpFrameInfo. Bien qu’un objet contenu soit l’objet actif, le serveur de l’objet a toujours la première chance de traduire les messages reçus. Si cela n’est pas souhaité, le serveur appelle OleTranslateAccelerator pour donner une chance au conteneur de l’objet. Si l’entrée du clavier correspond à un accélérateur trouvé dans la table d’accélérateurs fournie par le conteneur, OleTranslateAccelerator transmet le message et son identificateur de commande au conteneur via la méthode IOleInPlaceFrame ::TranslateAccelerator . Cette méthode retourne S_OK si la séquence de touches est consommée ; sinon, elle retourne S_FALSE.
Les tables d’accélérateur pour les conteneurs doivent être définies afin qu’ils fonctionnent correctement avec les applications d’objets qui effectuent leurs propres traductions de séquences de touches d’accélérateur. Ces tableaux doivent prendre la forme suivante :
"char", wID, VIRTKEY, CONTROL
Il s’agit de la façon la plus courante de décrire les raccourcis clavier. Si vous ne le faites pas, des séquences de touches peuvent être perdues ou envoyées à l’objet incorrect pendant une session sur place.
Les objets peuvent appeler la fonction IsAccelerator pour voir si la frappe de l’accélérateur appartient à l’objet ou au conteneur.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | ole2.h |
Bibliothèque | Ole32.lib |
DLL | Ole32.dll |
Ensemble d’API | ext-ms-win-com-ole32-l1-1-3 (introduit dans Windows 10, version 10.0.10240) |