Partager via


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
E_FAIL
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)

Voir aussi

IOleInPlaceFrame ::TranslateAccelerator

IsAccelerator