CMouseManager, classe
Permet à un utilisateur d’associer différentes commandes à un objet CView particulier lorsque l’utilisateur double-clique à l’intérieur de cette vue.
Syntaxe
class CMouseManager : public CObject
Membres
Méthodes publiques
Nom | Description |
---|---|
CMouseManager ::AddView | Ajoute un CView objet à la boîte de dialogue Personnalisation . La boîte de dialogue Personnalisation permet à l’utilisateur d’associer un double-clic à une commande pour chacune des vues répertoriées. |
CMouseManager ::GetViewDblClickCommand | Retourne la commande exécutée lorsque l’utilisateur double-clique dans l’affichage fourni. |
CMouseManager ::GetViewIconId | Retourne l’icône associée à l’ID d’affichage fourni. |
CMouseManager ::GetViewIdByName | Retourne l’ID d’affichage associé au nom d’affichage fourni. |
CMouseManager ::GetViewNames | Récupère une liste de tous les noms d’affichage ajoutés. |
CMouseManager ::LoadState | Charge l’état CMouseManager à partir du Registre Windows. |
CMouseManager ::SaveState | Écrit l’état CMouseManager dans le Registre Windows. |
CMouseManager ::SetCommandForDblClk | Associe la commande fournie et l’affichage fourni. |
Notes
La CMouseManager
classe gère une collection d’objets CView
. Chaque vue est identifiée par un nom et par un ID. Ces vues sont affichées dans la boîte de dialogue Personnalisation . L’utilisateur peut modifier la commande associée à n’importe quelle vue via la boîte de dialogue Personnalisation . La commande associée est exécutée lorsque l’utilisateur double-clique dans cette vue. Pour prendre en charge cela du point de vue du codage, vous devez traiter le message WM_LBUTTONDBLCLK et appeler la fonction CWinAppEx ::OnViewDoubleClick dans le code de cet CView
objet..
Vous ne devez pas créer un CMouseManager
objet manuellement. Elle sera créée par l’infrastructure de votre application. Elle sera également détruite automatiquement lorsque l’utilisateur quitte l’application. Pour obtenir un pointeur vers le gestionnaire de souris pour votre application, appelez CWinAppEx ::GetMouseManager.
Hiérarchie d'héritage
CMouseManager
Spécifications
En-tête : afxmousemanager.h
CMouseManager ::AddView
Inscrit un objet CView auprès de la classe CMouseManager pour prendre en charge le comportement personnalisé de la souris.
BOOL AddView(
int iViewId,
UINT uiViewNameResId,
UINT uiIconId = 0);
BOOL AddView(
int iId,
LPCTSTR lpszViewName,
UINT uiIconId = 0);
Paramètres
iViewId
[in] ID d’affichage.
uiViewNameResId
[in] ID de chaîne de ressource qui fait référence au nom de la vue.
uiIconId
[in] ID d’icône d’affichage.
iId
[in] ID d’affichage.
lpszViewName
[in] Nom d’affichage.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Pour prendre en charge le comportement personnalisé de la souris, une vue doit être inscrite auprès de l’objet CMouseManager
. Tout objet dérivé de la CView
classe peut être inscrit auprès du gestionnaire de souris. La chaîne et l’icône associées à une vue s’affichent sous l’onglet Souris de la boîte de dialogue Personnaliser .
Il incombe au programmeur de créer et de gérer des ID d’affichage tels que iViewId et iId.
Pour plus d’informations sur la façon de fournir un comportement personnalisé de la souris, consultez Personnalisation du clavier et de la souris.
Exemple
L’exemple suivant montre comment récupérer un pointeur vers un CMouseManager
objet à l’aide de la CWinAppEx::GetMouseManager
méthode et de la AddView
méthode dans la CMouseManager
classe. Cet extrait de code fait partie de l’exemple State Collection.
GetMouseManager()->AddView(IDR_MAINFRAME, _T("My view"), IDR_MAINFRAME);
CMouseManager ::GetViewDblClickCommand
Retourne la commande exécutée lorsque l’utilisateur double-clique dans l’affichage fourni.
UINT GetViewDblClickCommand(int iId) const;
Paramètres
iId
[in] ID d’affichage.
Valeur de retour
Identificateur de commande si la vue est associée à une commande ; sinon 0.
CMouseManager ::GetViewIconId
Récupère l’icône associée à un ID d’affichage.
UINT GetViewIconId(int iViewId) const;
Paramètres
iViewId
[in] ID d’affichage.
Valeur de retour
Identificateur de ressource d’icône en cas de réussite ; sinon 0.
Notes
Cette méthode échoue si la vue n’est pas inscrite en premier à l’aide de CMouseManager ::AddView.
CMouseManager ::GetViewIdByName
Récupère l’ID d’affichage associé à un nom d’affichage.
int GetViewIdByName(LPCTSTR lpszName) const;
Paramètres
lpszName
[in] Nom de la vue.
Valeur de retour
ID d’affichage en cas de réussite ; sinon 0.
Notes
Cette méthode recherche les vues inscrites à l’aide de CMouseManager ::AddView.
CMouseManager ::GetViewNames
Récupère une liste de tous les noms d’affichage inscrits.
void GetViewNames(CStringList& listOfNames) const;
Paramètres
listOfNames
[out] Référence à l’objet CStringList
.
Notes
Cette méthode remplit le paramètre listOfNames
avec les noms de toutes les vues inscrites à l’aide de CMouseManager ::AddView.
CMouseManager ::LoadState
Charge l’état de la classe CMouseManager à partir du registre.
BOOL LoadState(LPCTSTR lpszProfileName = NULL);
Paramètres
lpszProfileName
[in] Chemin d’accès d’une clé de Registre.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Les informations d’état chargées à partir du Registre incluent les vues inscrites, les identificateurs d’affichage et les commandes associées. Si le paramètre lpszProfileName a la valeur NULL, cette fonction charge les CMouseManager
données de l’emplacement de Registre par défaut contrôlé par la classe CWinAppEx.
Dans la plupart des cas, vous n’avez pas besoin d’appeler cette fonction directement. Elle est appelée dans le cadre du processus d’initialisation de l’espace de travail. Pour plus d’informations sur le processus d’initialisation de l’espace de travail, consultez CWinAppEx ::LoadState.
CMouseManager ::SaveState
Écrit l’état de la classe CMouseManager dans le registre.
BOOL SaveState(LPCTSTR lpszProfileName = NULL);
Paramètres
lpszProfileName
[in] Chemin d’accès d’une clé de Registre.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Les informations d’état écrites dans le Registre incluent toutes les vues inscrites, les identificateurs d’affichage et les commandes associées. Si le paramètre lpszProfileName a la valeur NULL, cette fonction écrit les CMouseManager
données dans l’emplacement de Registre par défaut contrôlé par la classe CWinAppEx.
Dans la plupart des cas, vous n’avez pas besoin d’appeler cette fonction directement. Elle est appelée dans le cadre du processus de sérialisation de l’espace de travail. Pour plus d’informations sur le processus de sérialisation de l’espace de travail, consultez CWinAppEx ::SaveState.
CMouseManager ::SetCommandForDblClk
Associe une commande personnalisée à une vue qui est d’abord inscrite auprès du gestionnaire de souris.
void SetCommandForDblClk(
int iViewId,
UINT uiCmd);
Paramètres
iViewId
[in] Identificateur d’affichage.
uiCmd
[in] Identificateur de commande.
Notes
Pour associer une commande personnalisée à une vue, vous devez d’abord inscrire la vue à l’aide de CMouseManager ::AddView. La AddView
méthode nécessite un identificateur d’affichage en tant que paramètre d’entrée. Une fois que vous avez inscrit une vue, vous pouvez appeler CMouseManager::SetCommandForDblClk
avec le même paramètre d’entrée d’identificateur d’affichage que celui que vous avez fourni .AddView
Par la suite, lorsque l’utilisateur double-clique sur la souris dans l’affichage inscrit, l’application exécute la commande indiquée par uiCmd. Pour prendre en charge le comportement personnalisé de la souris, vous devez également personnaliser la vue inscrite auprès du gestionnaire de souris. Pour plus d’informations sur le comportement personnalisé de la souris, consultez Personnalisation du clavier et de la souris.
Si uiCmd est défini sur 0, la vue spécifiée n’est plus associée à une commande.
Voir aussi
Graphique hiérarchique
Classes
CWinAppEx, classe
Personnalisation du clavier et de la souris