CShellManager, classe
Implémente plusieurs méthodes qui permettent d'utiliser des pointeurs vers des listes d'identificateurs (PIDL).
class CShellManager : public CObject
Nom | Description |
---|---|
CShellManager ::CShellManager | Construit un objet CShellManager . |
Nom | Description |
---|---|
CShellManager ::BrowseForFolder | Affiche une boîte de dialogue qui permet à l’utilisateur de sélectionner un dossier d’interpréteur de commandes. |
CShellManager ::ConcatenateItem | Concatène deux PIDL. |
CShellManager ::CopyItem | Crée un code PIDL et copie le code PIDL fourni dans celui-ci. |
CShellManager ::CreateItem | Crée un code PIDL de la taille spécifiée. |
CShellManager ::FreeItem | Supprime le code PIDL fourni. |
CShellManager ::GetItemCount | Retourne le nombre d’éléments dans le PIDL fourni. |
CShellManager ::GetItemSize | Retourne la taille du code PIDL fourni. |
CShellManager ::GetNextItem | Retourne l’élément suivant à partir du code PIDL. |
CShellManager ::GetParentItem | Récupère l’élément parent de l’élément fourni. |
CShellManager ::ItemFromPath | Récupère le code PIDL de l’élément identifié par le chemin d’accès fourni. |
Les méthodes de la CShellManager
classe traitent tous des PIDL. Un code PIDL est un identificateur unique pour un objet shell.
Vous ne devez pas créer un CShellManager
objet manuellement. Elle sera créée automatiquement par l’infrastructure de votre application. Toutefois, vous devez appeler CWinAppEx ::InitShellManager pendant le processus d’initialisation de votre application. Pour obtenir un pointeur vers le gestionnaire d’interpréteurs de commandes de votre application, appelez CWinAppEx ::GetShellManager.
En-tête : afxshellmanager.h
Affiche une boîte de dialogue qui permet à l’utilisateur de sélectionner un dossier d’interpréteur de commandes.
BOOL BrowseForFolder(
CString& strOutFolder,
CWnd* pWndParent = NULL,
LPCTSTR lplszInitialFolder = NULL,
LPCTSTR lpszTitle = NULL,
UINT ulFlags = BIF_RETURNONLYFSDIRS,
LPINT piFolderImage = NULL);
strOutFolder
[out] Chaîne utilisée par la méthode pour stocker le chemin d’accès du dossier sélectionné.
pWndParent
[in] Pointeur vers la fenêtre parente.
lplszInitialFolder
[in] Chaîne qui contient le dossier sélectionné par défaut lorsque la boîte de dialogue s’affiche.
lpszTitle
[in] Titre de la boîte de dialogue.
ulFlags
[in] Indicateurs spécifiant les options de la boîte de dialogue. Consultez BROWSEINFO pour obtenir la description détaillée.
piFolderImage
[out] Pointeur vers la valeur entière où la méthode écrit l’index d’image du dossier sélectionné.
Différent de zéro si l’utilisateur sélectionne un dossier dans la boîte de dialogue ; sinon 0.
Lorsque vous appelez cette méthode, l’application crée et affiche une boîte de dialogue qui permet à l’utilisateur de sélectionner un dossier. La méthode écrit le chemin du dossier dans le paramètre strOutFolder .
L’exemple suivant montre comment récupérer une référence à un CShellManager
objet à l’aide de la CWinAppEx::GetShellManager
méthode et comment utiliser la BrowseForFolder
méthode. Cet extrait de code fait partie de l’exemple d’Explorateur.
CString strPath;
// The this pointer points to the CExplorerView class which extends the CView class.
// CMFCShellListCtrl m_wndList
if (m_wndList.GetCurrentFolder(strPath) &&
theApp.GetShellManager()->BrowseForFolder(strPath,
this, strPath, _T("Copy the selected item(s) to the folder:")))
{
MessageBox(CString(_T("The selected path is: ")) + strPath);
}
Crée une liste contenant deux PIDL.
LPITEMIDLIST ConcatenateItem(
LPCITEMIDLIST pidl1,
LPCITEMIDLIST pidl2);
pidl1
[in] Premier élément.
pidl2
[in] Deuxième élément.
Pointeur vers la nouvelle liste d’éléments si la fonction réussit, sinon NULL.
Cette méthode crée un nouvel ITEMIDLIST suffisamment grand pour contenir à la fois pidl1 et pidl2. Il copie ensuite pidl1 et pidl2 dans la nouvelle liste.
Copie une liste d’éléments.
LPITEMIDLIST CopyItem(LPCITEMIDLIST pidlSource);
pidlSource
[in] Liste d’éléments d’origine.
Pointeur vers la liste d’éléments nouvellement créée en cas de réussite ; sinon NULL.
La liste d’éléments nouvellement créée a la même taille que la liste d’éléments source.
Crée un code PIDL.
LPITEMIDLIST CreateItem(UINT cbSize);
cbSize
[in] Taille de la liste d’éléments.
Pointeur vers la liste d’éléments créé en cas de réussite ; sinon NULL.
Construit un objet CShellManager
.
CShellManager();
Dans la plupart des cas, vous n’avez pas besoin de créer un CShellManager
fichier directement. Par défaut, le framework en crée un pour vous. Pour obtenir un pointeur vers le CShellManager
, appelez CWinAppEx ::GetShellManager. Si vous créez un CShellManager
fichier manuellement, vous devez l’initialiser avec la méthode CWinAppEx ::InitShellManager.
Supprime une liste d’éléments.
void FreeItem(LPITEMIDLIST pidl);
pidl
[in] Liste d’éléments à supprimer.
Retourne le nombre d’éléments d’une liste d’éléments.
UINT GetItemCount(LPCITEMIDLIST pidl);
pidl
[in] Pointeur vers une liste d’éléments.
Nombre d’éléments dans la liste d’éléments.
Retourne la taille d’une liste d’éléments.
UINT GetItemSize(LPCITEMIDLIST pidl);
pidl
[in] Pointeur vers une liste d’éléments.
Taille de la liste d’éléments.
Récupère l’élément suivant à partir d’un pointeur vers une liste d’identificateurs d’élément (PIDL).
LPITEMIDLIST GetNextItem(LPCITEMIDLIST pidl);
pidl
[in] Liste des éléments à itérer.
Pointeur vers l’élément suivant de la liste.
S’il n’y a plus d’éléments dans la liste, cette méthode retourne NULL.
Récupère le parent d’un pointeur vers une liste d’identificateurs d’élément (PIDL).
int GetParentItem(
LPCITEMIDLIST lpidl,
LPITEMIDLIST& lpidlParent);
lpidl
[in] PIDL dont le parent sera récupéré.
lpidlParent
[out] Référence à un code PIDL dans lequel la méthode stocke le résultat.
Niveau du PIDL parent.
Le niveau d’un PIDL est relatif au bureau. Le code PIDL de bureau est considéré comme ayant un niveau de 0.
Récupère le pointeur vers une liste d’identificateurs d’élément (PIDL) à partir de l’élément identifié par un chemin de chaîne.
HRESULT ItemFromPath(
LPCTSTR lpszPath,
LPITEMIDLIST& pidl);
lpszPath
[in] Chaîne qui spécifie le chemin d’accès de l’élément.
pidl
[out] Référence à un PIDL. La méthode utilise ce code PIDL pour stocker le pointeur vers sa valeur de retour.
Retourne NOERROR en cas de réussite ; valeur d’erreur définie par OLE.