CMFCShellListCtrl, classe

La CMFCShellListCtrl classe fournit des fonctionnalités de contrôle de liste Windows et l’étend en incluant la possibilité d’afficher une liste d’éléments d’interpréteur de commandes.

Syntaxe

class CMFCShellListCtrl : public CMFCListCtrl

Membres

Méthodes publiques

Nom Description
CMFCShellListCtrl ::D isplayFolder Affiche une liste d’éléments contenus dans un dossier fourni.
CMFCShellListCtrl ::D isplayParentFolder Affiche une liste d’éléments contenus dans le dossier qui est le parent du dossier actuellement affiché.
CMFCShellListCtrl ::EnableShellContextMenu Active ou désactive le menu contextuel.
CMFCShellListCtrl ::GetCurrentFolder Récupère le chemin d’accès du dossier actif.
CMFCShellListCtrl ::GetCurrentFolderName Récupère le nom du dossier actif.
CMFCShellListCtrl ::GetCurrentItemIdList Retourne le code PIDL de l’élément de contrôle de liste actif.
CMFCShellListCtrl ::GetCurrentShellFolder Retourne un pointeur vers le dossier Shell actuel.
CMFCShellListCtrl ::GetItemPath Retourne le chemin d’accès textuel d’un élément.
CMFCShellListCtrl ::GetItemTypes Retourne les types d’éléments Shell affichés par le contrôle de liste.
CMFCShellListCtrl ::IsDesktop Vérifie si le dossier actuellement sélectionné est le dossier de bureau.
CMFCShellListCtrl ::OnCompareItems L’infrastructure appelle cette méthode lorsqu’elle compare deux éléments. (Remplacements CMFCListCtrl ::OnCompareItems.)
CMFCShellListCtrl ::OnFormatFileDate Appelé lorsque l’infrastructure récupère la date du fichier affichée par le contrôle de liste.
CMFCShellListCtrl ::OnFormatFileSize Appelé lorsque l’infrastructure convertit la taille de fichier d’un contrôle de liste.
CMFCShellListCtrl ::OnGetItemIcon Appelé lorsque l’infrastructure récupère l’icône d’un élément de contrôle de liste.
CMFCShellListCtrl ::OnGetItemText Appelé lorsque l’infrastructure convertit le texte d’un élément de contrôle de liste.
CMFCShellListCtrl ::OnSetColumns Appelé par l’infrastructure lorsqu’il définit les noms des colonnes.
CMFCShellListCtrl ::Refresh Actualise et repeint le contrôle de liste.
CMFCShellListCtrl ::SetItemTypes Définit le type d’éléments affichés par le contrôle de liste.

Notes

La CMFCShellListCtrl classe étend les fonctionnalités de la classe CMFCListCtrl en permettant à votre programme de répertorier les éléments de l’interpréteur de commandes Windows. Le format d’affichage utilisé est semblable à celui d’une vue de liste pour une fenêtre Explorateur.

Un objet CMFCShellTreeCtrl peut être associé à un CMFCShellListCtrl objet pour créer une fenêtre d’Explorateur complète. Ensuite, la sélection d’un élément dans l’objet CMFCShellTreeCtrl entraîne la CMFCShellListCtrl liste du contenu de l’élément sélectionné.

Exemple

L’exemple suivant montre comment créer un objet de la CMFCShellListCtrl classe et comment afficher le dossier parent du dossier actuellement affiché. Cet extrait de code fait partie de l’exemple d’Explorateur.

CMFCShellListCtrl m_wndList;
CRect rectDummy(0, 0, 0, 0);
// The this pointer points to CExplorerView class which extends the CView class.
m_wndList.Create(WS_CHILD | WS_VISIBLE | LVS_REPORT, rectDummy, this, 1);
m_wndList.DisplayParentFolder();

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CListCtrl

CMFCListCtrl

CMFCShellListCtrl

Spécifications

En-tête : afxshelllistCtrl.h

CMFCShellListCtrl ::D isplayFolder

Affiche une liste d’éléments contenus dans le dossier fourni.

virtual HRESULT DisplayFolder(LPCTSTR lpszPath);
virtual HRESULT DisplayFolder(LPAFX_SHELLITEMINFO lpItemInfo);

Paramètres

lpszPath
[in] Chaîne qui contient le chemin d’accès d’un dossier.

lpItemInfo
[in] Pointeur vers une LPAFX_SHELLITEMINFO structure qui décrit un dossier à afficher.

Valeur de retour

S_OK en cas de réussite ; E_FAIL sinon.

CMFCShellListCtrl ::D isplayParentFolder

Met à jour l’objet CMFCShellListCtrl pour afficher le dossier parent du dossier actuellement affiché.

virtual HRESULT DisplayParentFolder();

Valeur de retour

S_OK en cas de réussite ; E_FAIL sinon.

CMFCShellListCtrl ::EnableShellContextMenu

Active le menu contextuel.

void EnableShellContextMenu(BOOL bEnable = TRUE);

Paramètres

bEnable
[in] Boolean qui spécifie si l’infrastructure active le menu contextuel.

CMFCShellListCtrl ::GetCurrentFolder

Récupère le chemin d’accès du dossier actuellement sélectionné dans l’objet CMFCShellListCtrl .

BOOL GetCurrentFolder(CString& strPath) const;

Paramètres

strPath
[out] Référence à un paramètre de chaîne où la méthode écrit le chemin d’accès.

Valeur de retour

Différent de zéro si cela ; Sinon, 0.

Notes

Cette méthode échoue si aucun dossier n’est sélectionné dans le CMFCShellListCtrlfichier .

CMFCShellListCtrl ::GetCurrentFolderName

Récupère le nom du dossier actuellement sélectionné dans l’objet CMFCShellListCtrl .

BOOL GetCurrentFolderName(CString& strName) const;

Paramètres

strName
[out] Référence à un paramètre de chaîne où la méthode écrit le nom.

Valeur de retour

Différent de zéro si cela ; Sinon, 0.

Notes

Cette méthode échoue si aucun dossier n’est sélectionné dans le CMFCShellListCtrlfichier .

CMFCShellListCtrl ::GetCurrentItemIdList

Retourne le code PIDL de l’élément actuellement sélectionné.

LPITEMIDLIST GetCurrentItemIdList() const;

Valeur de retour

PIDL de l’élément actif.

CMFCShellListCtrl ::GetCurrentShellFolder

Obtient un pointeur vers l’élément actuellement sélectionné dans l’objet CMFCShellListCtrl .

const IShellFolder* GetCurrentShellFolder() const;

Valeur de retour

Pointeur vers l’interface IShellFolder pour l’objet sélectionné.

Notes

Cette méthode retourne NULL si aucun objet n’est actuellement sélectionné.

CMFCShellListCtrl ::GetItemPath

Récupère le chemin d’accès d’un élément.

BOOL GetItemPath(
    CString& strPath,
    int iItem) const;

Paramètres

strPath
[out] Référence à une chaîne qui reçoit le chemin d’accès.

iItem
[in] Index de l’élément de liste.

Valeur de retour

TRUE si cela réussit ; FALSE dans le cas contraire.

Notes

L’index fourni par iItem est basé sur les éléments actuellement affichés par l’objet CMFCShellListCtrl, classe .

CMFCShellListCtrl ::GetItemTypes

Renvoie le type d’éléments affichés par l’objet CMFCShellListCtrl .

SHCONTF GetItemTypes() const;

Valeur de retour

Valeur SHCONTF qui contient le type d’éléments répertoriés dans le CMFCShellListCtrl.

Notes

Pour définir le type d’éléments répertoriés dans un CMFCShellListCtrl, appelez CMFCShellListCtrl ::SetItemTypes.

CMFCShellListCtrl ::IsDesktop

Détermine si le dossier affiché dans l’objet CMFCShellListCtrl est le dossier de bureau.

BOOL IsDesktop() const;

Valeur de retour

TRUE si le dossier affiché est le dossier de bureau ; FALSE dans le cas contraire.

CMFCShellListCtrl ::OnCompareItems

Pour plus d’informations, consultez le code source situé dans le dossier VC\atlmfc\src\mfc de votre installation de Visual Studio.

virtual int OnCompareItems(
    LPARAM lParam1,
    LPARAM lParam2,
    int iColumn);

Paramètres

[in] lParam1
[in] lParam2
[in] iColumn

Valeur de retour

Notes

CMFCShellListCtrl ::OnFormatFileDate

L’infrastructure appelle cette méthode lorsqu’elle doit convertir la date associée à un objet en chaîne.

virtual void OnFormatFileDate(
    const CTime& tmFile,
    CString& str);

Paramètres

tmFile
[in] Date associée à un fichier.

str
[out] Chaîne qui contient la date du fichier mis en forme.

Notes

Lorsqu’un objet CMFCShellListCtrl Class affiche la date associée à un fichier, il doit convertir cette date au format de chaîne. Utilise CMFCShellListCtrl cette méthode pour effectuer cette conversion. Par défaut, cette méthode utilise les paramètres régionaux actuels pour mettre en forme la date dans une chaîne.

CMFCShellListCtrl ::OnFormatFileSize

L’infrastructure appelle cette méthode lorsqu’elle convertit la taille d’un objet en chaîne.

virtual void OnFormatFileSize(
    long lFileSize,
    CString& str);

Paramètres

lFileSize
[in] Taille du fichier affiché par l’infrastructure.

str
[out] Chaîne qui contient la taille de fichier mise en forme.

Notes

Lorsqu’un objet CMFCShellListCtrl Class doit afficher la taille d’un fichier, il doit convertir la taille du fichier dans un format de chaîne. Utilise CMFCShellListCtrl cette méthode pour effectuer cette conversion. Par défaut, cette méthode convertit la taille du fichier d’octets en kilo-octets, puis utilise les paramètres régionaux actuels pour mettre en forme la taille en chaîne.

CMFCShellListCtrl ::OnGetItemIcon

L’infrastructure appelle cette méthode pour récupérer l’icône associée à un élément de liste d’interpréteur de commandes.

virtual int OnGetItemIcon(
    int iItem,
    LPAFX_SHELLITEMINFO pItem);

Paramètres

iItem
[in] Index de l’élément.

pItem
[in] Paramètre LPAFX_SHELLITEMINFO qui décrit l’élément.

Valeur de retour

Index de l’image d’icône en cas de réussite ; -1 si la fonction échoue.

Notes

L’index d’image d’icône est basé sur la liste d’images système.

Par défaut, cette méthode s’appuie sur le paramètre pItem . La valeur d’iItem n’est pas utilisée dans l’implémentation par défaut. Vous pouvez utiliser iItem pour implémenter un comportement personnalisé.

CMFCShellListCtrl ::OnGetItemText

L’infrastructure appelle cette méthode lorsqu’elle doit récupérer le texte d’un élément d’interpréteur de commandes.

virtual CString OnGetItemText(
    int iItem,
    int iColumn,
    LPAFX_SHELLITEMINFO pItem);

Paramètres

iItem
[in] Index de l’élément.

iColumn
[in] Colonne d’intérêt.

pItem
[in] Paramètre LPAFX_SHELLITEMINFO qui décrit l’élément.

Valeur de retour

Qui CString contient le texte associé à l’élément.

Notes

Chaque élément de l’objet peut avoir du CMFCShellListCtrl texte dans une ou plusieurs colonnes. Lorsque l’infrastructure appelle cette méthode, elle spécifie la colonne qui lui intéresse. Si vous appelez cette fonction manuellement, vous devez également spécifier la colonne qui vous intéresse.

Par défaut, cette méthode s’appuie sur le paramètre pItem pour déterminer l’élément à traiter. La valeur d’iItem n’est pas utilisée dans l’implémentation par défaut.

CMFCShellListCtrl ::OnSetColumns

L’infrastructure appelle cette méthode lorsqu’elle définit les noms des colonnes.

virtual void OnSetColumns();

Notes

Par défaut, l’infrastructure crée quatre colonnes dans un CMFCShellListCtrl objet. Les noms de ces colonnes sont Name, Size, Type et Modified. Vous pouvez remplacer cette méthode pour personnaliser le nombre de colonnes et leurs noms.

CMFCShellListCtrl ::Refresh

Actualise et repeint l’objet CMFCShellListCtrl .

virtual HRESULT Refresh();

Valeur de retour

S_OK si elle réussit ; sinon, valeur d’erreur.

Notes

Appelez cette méthode pour actualiser la liste des éléments affichés par l’objet CMFCShellListCtrl .

CMFCShellListCtrl ::SetItemTypes

Définit le type d’éléments répertoriés dans l’objet CMFCShellListCtrl .

void SetItemTypes(SHCONTF nTypes);

Paramètres

nTypes
[in] Liste des types d’éléments pris en charge par l’objet CMFCShellListCtrl .

Notes

Pour plus d’informations sur la liste des types d’éléments, consultez SHCONTF.

Voir aussi

Graphique hiérarchique
Classes
CMFCListCtrl, classe
CMFCShellTreeCtrl, classe