Partager via


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

CObject

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