CUserToolsManager, classe

Gère la collection d’objets CUserTool Class dans une application. Un outil utilisateur est un élément de menu qui exécute une application externe. L'objet CUserToolsManager permet à l'utilisateur ou au développeur d'ajouter de nouveaux outils utilisateur à l'application. Il prend en charge l'exécution des commandes associées aux outils utilisateur. En outre, il stocke des informations sur les outils utilisateur dans le Registre Windows.

Syntaxe

class CUserToolsManager : public CObject

Membres

Constructeurs publics

Nom Description
CUserToolsManager ::CUserToolsManager Construit un objet CUserToolsManager.

Méthodes publiques

Nom Description
CUserToolsManager ::CreateNewTool Crée un outil utilisateur.
CUserToolsManager ::FindTool Retourne le pointeur vers l’objet CMFCUserTool associé à un ID de commande spécifié.
CUserToolsManager ::GetArgumentsMenuID Retourne l’ID de ressource associé au menu Arguments sous l’onglet Outils de la boîte de dialogue Personnaliser .
CUserToolsManager ::GetDefExt Renvoie l’extension par défaut utilisée par la boîte de dialogue Ouvrir le fichier (CFileDialog) dans le champ Commande sous l’onglet Outils de la boîte de dialogue Personnaliser.
CUserToolsManager ::GetFilter Renvoie le filtre de fichier que la boîte de dialogue Ouvrir du fichier (classe CFileDialog) utilise dans le champ Commande sous l’onglet Outils de la boîte de dialogue Personnaliser.
CUserToolsManager ::GetInitialDirMenuID Retourne l’ID de ressource associé au menu Répertoire initial sous l’onglet Outils de la boîte de dialogue Personnaliser .
CUserToolsManager ::GetMaxTools Retourne le nombre maximal d’outils utilisateur qui peuvent être alloués dans l’application.
CUserToolsManager ::GetToolsEntryCmd Retourne l’ID de commande de l’espace réservé d’élément de menu pour les outils utilisateur.
CUserToolsManager ::GetUserTools Retourne une référence à la liste des outils utilisateur.
CUserToolsManager ::InvokeTool Exécute une application associée à l’outil utilisateur qui a un ID de commande spécifié.
CUserToolsManager ::IsUserToolCmd Détermine si un ID de commande est associé à un outil utilisateur.
CUserToolsManager ::LoadState Charge des informations sur les outils utilisateur à partir du Registre Windows.
CUserToolsManager ::MoveToolDown Déplace l’outil utilisateur spécifié vers le bas dans la liste des outils utilisateur.
CUserToolsManager ::MoveToolUp Déplace l’outil utilisateur spécifié vers le haut dans la liste des outils utilisateur.
CUserToolsManager ::RemoveTool Supprime l’outil utilisateur spécifié de l’application.
CUserToolsManager ::SaveState Stocke des informations sur les outils utilisateur dans le Registre Windows.
CUserToolsManager ::SetDefExt Spécifie l’extension par défaut utilisée par la boîte de dialogue Ouvrir le fichier (classe CFileDialog) dans le champ Commande sous l’onglet Outils de la boîte de dialogue Personnaliser.
CUserToolsManager ::SetFilter Spécifie le filtre de fichier que la boîte de dialogue Ouvrir du fichier (classe CFileDialog) utilise dans le champ Commande sous l’onglet Outils de la boîte de dialogue Personnaliser.

Notes

Pour incorporer des outils utilisateur dans votre application, vous devez :

  1. Réservez un élément de menu et un ID de commande associé pour une entrée de menu outil utilisateur.

  2. Réservez un ID de commande séquentiel pour chaque outil utilisateur qu’un utilisateur peut définir dans votre application.

  3. Appelez la méthode CWinAppEx ::EnableUserTools et fournissez les paramètres suivants : ID de commande de menu, ID de commande premier outil utilisateur et ID de commande de l’outil dernier utilisateur.

Il ne doit y avoir qu’un seul objet global CUserToolsManager par application.

Pour obtenir un exemple d’outils utilisateur, consultez l’exemple de projet VisualStudioDemo.

Exemple

L’exemple suivant montre comment récupérer une référence à un CUserToolsManager objet et comment créer de nouveaux outils utilisateur. Cet extrait de code fait partie de l’exemple de démonstration Visual Studio.

CUserToolsManager* pUserToolsManager = theApp.GetUserToolsManager();
if (pUserToolsManager != NULL && pUserToolsManager->GetUserTools().IsEmpty())
{
   // CUserToolsManager* pUserToolsManager
   CUserTool* pTool1 = pUserToolsManager->CreateNewTool();
   pTool1->m_strLabel = _T("&Notepad");
   pTool1->SetCommand(_T("notepad.exe"));

   CUserTool* pTool2 = pUserToolsManager->CreateNewTool();
   pTool2->m_strLabel = _T("Paint &Brush");
   pTool2->SetCommand(_T("mspaint.exe"));

   CUserTool* pTool3 = pUserToolsManager->CreateNewTool();
   pTool3->m_strLabel = _T("&Windows Explorer");
   pTool3->SetCommand(_T("explorer.exe"));

   CUserTool* pTool4 = pUserToolsManager->CreateNewTool();
   pTool4->m_strLabel = _T("Microsoft On-&Line");
   pTool4->SetCommand(_T("http://www.microsoft.com"));
}

Hiérarchie d'héritage

CObject

CUserToolsManager

Spécifications

En-tête : afxusertoolsmanager.h

CUserToolsManager ::CreateNewTool

Crée un outil utilisateur.

CUserTool* CreateNewTool();

Valeur de retour

Pointeur vers l’outil utilisateur nouvellement créé ou NULL si le nombre d’outils utilisateur a dépassé le maximum. Le type retourné est identique au type passé au CWinAppEx::EnableUserTools paramètre pToolRTC .

Notes

Cette méthode recherche le premier ID de commande de menu disponible dans la plage fournie dans l’appel à CWinAppEx ::EnableUserTools et affecte cet ID à l’outil utilisateur.

La méthode échoue si le nombre d’outils a atteint le maximum. Cela se produit lorsque tous les ID de commande dans la plage sont attribués aux outils utilisateur. Vous pouvez récupérer le nombre maximal d’outils en appelant CUserToolsManager ::GetMaxTools. Vous pouvez accéder à la liste des outils en appelant la méthode CUserToolsManager ::GetUserTools .

CUserToolsManager ::CUserToolsManager

Construit un objet CUserToolsManager. Chaque application doit avoir au plus un gestionnaire d’outils utilisateur.

CUserToolsManager();

CUserToolsManager(
    const UINT uiCmdToolsDummy,
    const UINT uiCmdFirst,
    const UINT uiCmdLast,
    CRuntimeClass* pToolRTC=RUNTIME_CLASS(CUserTool),
    UINT uArgMenuID=0,
    UINT uInitDirMenuID=0);

Paramètres

uiCmdToolsDummy
[in] Entier non signé que l’infrastructure utilise comme espace réservé pour l’ID de commande du menu outils utilisateur.

uiCmdFirst
[in] ID de commande de la première commande de l’outil utilisateur.

uiCmdLast
[in] ID de commande de la dernière commande de l’outil utilisateur.

pToolRTC
[in] Classe créée par CUserToolsManager ::CreateNewTool . À l’aide de cette classe, vous pouvez utiliser un type dérivé de la classe CUserTool au lieu de l’implémentation par défaut.

uArgMenuID
[in] ID de ressource de menu du menu contextuel arguments.

uInitDirMenuID
[in] ID de ressource de menu du menu contextuel du répertoire initial.

Notes

N’appelez pas ce constructeur. Au lieu de cela, appelez CWinAppEx ::EnableUserTools pour activer les outils utilisateur et appelez CWinAppEx ::GetUserToolsManager pour obtenir un pointeur vers le CUserToolsManager. Pour plus d’informations, consultez Outils définis par l’utilisateur.

CUserToolsManager ::FindTool

Retourne le pointeur vers l’objet CUserTool Class associé à un ID de commande spécifié.

CUserTool* FindTool(UINT uiCmdId) const;

Paramètres

uiCmdId
[in] Identificateur de commande de menu.

Valeur de retour

Pointeur vers une classe CUserTool ou CUserToolun objet dérivé en cas de réussite ; sinon NULL.

Notes

Une fois FindTool la réussite, le type retourné est identique au type du paramètre pToolRTC à CWinAppEx ::EnableUserTools.

CUserToolsManager ::GetArgumentsMenuID

Retourne l’ID de ressource associé au menu Arguments sous l’onglet Outils de la boîte de dialogue Personnaliser .

UINT GetArgumentsMenuID() const;

Valeur de retour

Identificateur d’une ressource de menu.

Notes

Le paramètre uArgMenuID de CWinAppEx ::EnableUserTools spécifie l’ID de la ressource.

CUserToolsManager ::GetDefExt

Renvoie l’extension par défaut utilisée par la boîte de dialogue Ouvrir le fichier (CFileDialog) dans le champ Commande sous l’onglet Outils de la boîte de dialogue Personnaliser.

const CString& GetDefExt() const;

Valeur de retour

Référence à l’objet CString qui contient l’extension.

CUserToolsManager ::GetFilter

Renvoie le filtre de fichier que la boîte de dialogue Ouvrir du fichier (classe CFileDialog) utilise dans le champ Commande sous l’onglet Outils de la boîte de dialogue Personnaliser.

const CString& GetFilter() const;

Valeur de retour

Référence à l’objet CString qui contient le filtre.

CUserToolsManager ::GetInitialDirMenuID

Retourne l’ID de ressource associé au menu Répertoire initial sous l’onglet Outils de la boîte de dialogue Personnaliser .

UINT GetInitialDirMenuID() const;

Valeur de retour

Identificateur de ressource de menu.

Notes

L’ID retourné est spécifié dans le paramètre uInitDirMenuID de CWinAppEx ::EnableUserTools.

CUserToolsManager ::GetMaxTools

Retourne le nombre maximal d’outils utilisateur qui peuvent être alloués dans l’application.

int GetMaxTools() const;

Valeur de retour

Nombre maximal d’outils utilisateur qui peuvent être alloués.

Notes

Appelez cette méthode pour récupérer le nombre maximal d’outils qui peuvent être alloués dans l’application. Ce nombre correspond au nombre d’ID dans la plage entre uiCmdFirst et les paramètres uiCmdLast que vous passez à CWinAppEx ::EnableUserTools.

CUserToolsManager ::GetToolsEntryCmd

Retourne l’ID de commande de l’espace réservé d’élément de menu pour les outils utilisateur.

UINT GetToolsEntryCmd() const;

Valeur de retour

ID de commande de l’espace réservé.

Notes

Pour activer les outils utilisateur, vous appelez CWinAppEx ::EnableUserTools. Le paramètre uiCmdToolsDummy spécifie l’ID de commande de la commande d’entrée d’outils. Cette méthode retourne l’ID de commande d’entrée des outils. Chaque fois que cet ID est utilisé dans un menu, il est remplacé par la liste des outils utilisateur lorsque le menu s’affiche.

CUserToolsManager ::GetUserTools

Retourne une référence à la liste des outils utilisateur.

const CObList& GetUserTools() const;

Valeur de retour

Référence const à un objet de classe CObList qui contient une liste d’outils utilisateur.

Notes

Appelez cette méthode pour récupérer une liste d’outils utilisateur que l’objet CUserToolsManager gère. Chaque outil utilisateur est représenté par un objet de type CUserTool Class ou un type dérivé de CUserTool. Le type est spécifié par le paramètre pToolRTC lorsque vous appelez CWinAppEx ::EnableUserTools pour activer les outils utilisateur.

CUserToolsManager ::InvokeTool

Exécute une application associée à l’outil utilisateur qui a un ID de commande spécifié.

BOOL InvokeTool(UINT uiCmdId);

Paramètres

uiCmdId
[in] ID de commande de menu associé à l’outil utilisateur.

Valeur de retour

Différent de zéro si la commande associée à l’outil utilisateur a été exécutée avec succès ; sinon 0.

Notes

Appelez cette méthode pour exécuter une application associée à l’outil utilisateur qui a l’ID de commande spécifié par uiCmdId.

CUserToolsManager ::IsUserToolCmd

Détermine si un ID de commande est associé à un outil utilisateur.

BOOL IsUserToolCmd(UINT uiCmdId) const;

Paramètres

uiCmdId
[in] ID de commande de l’élément de menu.

Valeur de retour

Différent de zéro si un ID de commande donné est associé à un outil utilisateur ; sinon 0.

Notes

Cette méthode vérifie si l’ID de commande donné se trouve dans la plage d’ID de commande. Vous spécifiez la plage lorsque vous appelez CWinAppEx ::EnableUserTools pour activer les outils utilisateur.

CUserToolsManager ::LoadState

Charge des informations sur les outils utilisateur à partir du Registre Windows.

BOOL LoadState(LPCTSTR lpszProfileName=NULL);

Paramètres

lpszProfileName
[in] Chemin d’accès de la clé de Registre Windows.

Valeur de retour

Différent de zéro si l’état a été chargé avec succès ; sinon 0.

Notes

Cette méthode charge l’état de l’objet CUserToolsManager à partir du Registre Windows.

En règle générale, vous n’appelez pas cette méthode directement. CWinAppEx ::LoadState l’appelle dans le cadre du processus d’initialisation de l’espace de travail.

CUserToolsManager ::MoveToolDown

Déplace l’outil utilisateur spécifié vers le bas dans la liste des outils utilisateur.

BOOL MoveToolDown(CUserTool* pTool);

Paramètres

pTool
[in] Spécifie l’outil utilisateur à déplacer.

Valeur de retour

Différent de zéro si l’outil utilisateur a été déplacé correctement ; sinon 0.

Notes

La méthode échoue si l’outil spécifié par l’outil spécifié n’est pas dans la liste interne ou si l’outil est le dernier dans la liste.

CUserToolsManager ::MoveToolUp

Déplace l’outil utilisateur spécifié vers le haut dans la liste des outils utilisateur.

BOOL MoveToolUp(CUserTool* pTool);

Paramètres

pTool
[in] Spécifie l’outil utilisateur à déplacer.

Valeur de retour

Différent de zéro si l’outil utilisateur a été déplacé correctement ; sinon 0.

Notes

La méthode échoue si l’outil spécifié par le paramètre pTool n’est pas dans la liste interne ou si l’outil est le premier élément d’outil de la liste.

CUserToolsManager ::RemoveTool

Supprime l’outil utilisateur spécifié de l’application.

BOOL RemoveTool(CUserTool* pTool);

Paramètres

pTool
[in, out] Pointeur vers un outil utilisateur à supprimer.

Valeur de retour

TRUE si l’outil est correctement supprimé. Sinon, FALSE.

Notes

Si l’outil est correctement supprimé, cette méthode supprime pTool.

CUserToolsManager ::SaveState

Stocke des informations sur les outils utilisateur dans le Registre Windows.

BOOL SaveState(LPCTSTR lpszProfileName=NULL);

Paramètres

lpszProfileName
[in] Chemin d’accès à la clé de Registre Windows.

Valeur de retour

Différent de zéro si l’état a été enregistré avec succès ; sinon 0.

Notes

La méthode stocke l’état actuel de l’objet CUserToolsManager dans le Registre Windows.

En règle générale, vous n’avez pas besoin d’appeler cette méthode directement, CWinAppEx ::SaveState l’appelle automatiquement dans le cadre du processus de sérialisation de l’espace de travail de l’application.

CUserToolsManager ::SetDefExt

Spécifie l’extension par défaut utilisée par la boîte de dialogue Ouvrir le fichier (classe CFileDialog) dans le champ Commande sous l’onglet Outils de la boîte de dialogue Personnaliser.

void SetDefExt(const CString& strDefExt);

Paramètres

strDefExt
[in] Chaîne de texte qui contient l’extension de nom de fichier par défaut.

Notes

Appelez cette méthode pour spécifier une extension de nom de fichier par défaut dans la boîte de dialogue Ouvrir de fichier, qui s’affiche lorsque l’utilisateur sélectionne une application à associer à l’outil utilisateur. La valeur par défaut est « exe ».

CUserToolsManager ::SetFilter

Spécifie le filtre de fichier que la boîte de dialogue Ouvrir du fichier (classe CFileDialog) utilise dans le champ Commande sous l’onglet Outils de la boîte de dialogue Personnaliser.

void SetFilter(const CString& strFilter);

Paramètres

strFilter
[in] Spécifie le filtre.

Voir aussi

Graphique hiérarchique
Classes
CWinAppEx, classe
CUserTool, classe