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 :
Réservez un élément de menu et un ID de commande associé pour une entrée de menu outil utilisateur.
Réservez un ID de commande séquentiel pour chaque outil utilisateur qu’un utilisateur peut définir dans votre application.
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
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 CUserTool
un 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