Freigeben über


CMFCShellListCtrl-Klasse

Die CMFCShellListCtrl Klasse bietet Windows-Listensteuerelementfunktionen und erweitert sie durch die Möglichkeit, eine Liste von Shellelementen anzuzeigen.

Syntax

class CMFCShellListCtrl : public CMFCListCtrl

Member

Öffentliche Methoden

Name Beschreibung
CMFCShellListCtrl::D isplayFolder Zeigt eine Liste von Elementen an, die in einem angegebenen Ordner enthalten sind.
CMFCShellListCtrl::D isplayParentFolder Zeigt eine Liste von Elementen an, die im Ordner enthalten sind, das übergeordnete Element des aktuell angezeigten Ordners ist.
CMFCShellListCtrl::EnableShellContextMenu Aktiviert oder deaktiviert das Kontextmenü.
CMFCShellListCtrl::GetCurrentFolder Ruft den Pfad des aktuellen Ordners ab.
CMFCShellListCtrl::GetCurrentFolderName Ruft den Namen des aktuellen Ordners ab.
CMFCShellListCtrl::GetCurrentItemIdList Gibt die PIDL des aktuellen Listensteuerelementelements zurück.
CMFCShellListCtrl::GetCurrentShellFolder Gibt einen Zeiger auf den aktuellen Shell-Ordner zurück.
CMFCShellListCtrl::GetItemPath Gibt den Textpfad eines Elements zurück.
CMFCShellListCtrl::GetItemTypes Gibt Shell-Elementtypen zurück, die vom Listensteuerelement angezeigt werden.
CMFCShellListCtrl::IsDesktop Überprüft, ob der aktuell ausgewählte Ordner der Desktopordner ist.
CMFCShellListCtrl::OnCompareItems Das Framework ruft diese Methode auf, wenn sie zwei Elemente vergleicht. (Außerkraftsetzungen CMFCListCtrl::OnCompareItems.)
CMFCShellListCtrl::OnFormatFileDate Wird aufgerufen, wenn das Framework das vom Listensteuerelement angezeigte Dateidatum abruft.
CMFCShellListCtrl::OnFormatFileSize Wird aufgerufen, wenn das Framework die Dateigröße eines Listensteuerelements konvertiert.
CMFCShellListCtrl::OnGetItemIcon Wird aufgerufen, wenn das Framework das Symbol eines Listensteuerelementelements abruft.
CMFCShellListCtrl::OnGetItemText Wird aufgerufen, wenn das Framework den Text eines Listensteuerelementelements konvertiert.
CMFCShellListCtrl::OnSetColumns Wird vom Framework aufgerufen, wenn die Namen der Spalten festgelegt werden.
CMFCShellListCtrl::Refresh Aktualisiert und aktualisiert das Listensteuerelement.
CMFCShellListCtrl::SetItemTypes Legt den Typ der vom Listensteuerelement angezeigten Elemente fest.

Hinweise

Die CMFCShellListCtrl Klasse erweitert die Funktionalität der CMFCListCtrl-Klasse , indem Ihr Programm die Liste der Windows-Shellelemente ermöglicht. Das verwendete Anzeigeformat entspricht der einer Listenansicht für ein Explorer-Fenster.

Ein CMFCShellTreeCtrl-Objekt kann einem CMFCShellListCtrl Objekt zugeordnet werden, um ein vollständiges Explorer-Fenster zu erstellen. Wenn Sie dann ein Element in der CMFCShellTreeCtrl Liste auswählen, wird das CMFCShellListCtrl Objekt den Inhalt des ausgewählten Elements auflisten.

Beispiel

Im folgenden Beispiel wird das Erstellen eines Objekts der CMFCShellListCtrl Klasse und das Anzeigen des übergeordneten Ordners des aktuell angezeigten Ordners veranschaulicht. Dieser Codeausschnitt ist Teil des Explorer-Beispiels.

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();

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CListCtrl

CMFCListCtrl

CMFCShellListCtrl

Anforderungen

Header: afxshelllistCtrl.h

CMFCShellListCtrl::D isplayFolder

Zeigt eine Liste von Elementen an, die im angegebenen Ordner enthalten sind.

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

Parameter

lpszPath
[in] Eine Zeichenfolge, die den Pfad eines Ordners enthält.

lpItemInfo
[in] Ein Zeiger auf eine LPAFX_SHELLITEMINFO Struktur, die einen anzuzeigenden Ordner beschreibt.

Rückgabewert

bei erfolgreicher Ausführung S_OK; andernfalls E_FAIL.

CMFCShellListCtrl::D isplayParentFolder

Aktualisiert das CMFCShellListCtrl -Objekt, um den übergeordneten Ordner des aktuell angezeigten Ordners anzuzeigen.

virtual HRESULT DisplayParentFolder();

Rückgabewert

bei erfolgreicher Ausführung S_OK; andernfalls E_FAIL.

CMFCShellListCtrl::EnableShellContextMenu

Aktiviert das Kontextmenü.

void EnableShellContextMenu(BOOL bEnable = TRUE);

Parameter

bEnable
[in] Ein Boolescher Wert, der angibt, ob das Framework das Kontextmenü aktiviert.

CMFCShellListCtrl::GetCurrentFolder

Ruft den Pfad des aktuell ausgewählten Ordners im CMFCShellListCtrl -Objekt ab.

BOOL GetCurrentFolder(CString& strPath) const;

Parameter

strPath
[out] Ein Verweis auf einen Zeichenfolgenparameter, in dem die Methode den Pfad schreibt.

Rückgabewert

Nonzero bei erfolgreicher Ausführung; andernfalls 0.

Hinweise

Diese Methode schlägt fehl, wenn in der CMFCShellListCtrlDatei kein Ordner ausgewählt ist.

CMFCShellListCtrl::GetCurrentFolderName

Ruft den Namen des aktuell ausgewählten Ordners im CMFCShellListCtrl -Objekt ab.

BOOL GetCurrentFolderName(CString& strName) const;

Parameter

strName
[out] Ein Verweis auf einen Zeichenfolgenparameter, in dem die Methode den Namen schreibt.

Rückgabewert

Nonzero bei erfolgreicher Ausführung; andernfalls 0.

Hinweise

Diese Methode schlägt fehl, wenn in der CMFCShellListCtrlDatei kein Ordner ausgewählt ist.

CMFCShellListCtrl::GetCurrentItemIdList

Gibt die PIDL des aktuell ausgewählten Elements zurück.

LPITEMIDLIST GetCurrentItemIdList() const;

Rückgabewert

Die PIDL des aktuellen Elements.

CMFCShellListCtrl::GetCurrentShellFolder

Ruft einen Zeiger auf das aktuell ausgewählte Element im CMFCShellListCtrl -Objekt ab.

const IShellFolder* GetCurrentShellFolder() const;

Rückgabewert

Ein Zeiger auf die IShellFolder-Schnittstelle für das ausgewählte Objekt.

Hinweise

Diese Methode gibt NULL zurück, wenn derzeit kein Objekt ausgewählt ist.

CMFCShellListCtrl::GetItemPath

Ruft den Pfad für ein Element ab.

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

Parameter

strPath
[out] Ein Verweis auf eine Zeichenfolge, die den Pfad empfängt.

iItem
[in] Der Index des Listenelements.

Rückgabewert

TRUE, wenn erfolgreich; andernfalls FALSE.

Hinweise

Der von iItem bereitgestellte Index basiert auf den Elementen, die derzeit vom CMFCShellListCtrl Class-Objekt angezeigt werden.

CMFCShellListCtrl::GetItemTypes

Gibt den Typ der vom CMFCShellListCtrl -Objekt angezeigten Elemente zurück.

SHCONTF GetItemTypes() const;

Rückgabewert

Ein SHCONTF-Wert , der den Typ der in der CMFCShellListCtrlDatei aufgeführten Elemente enthält.

Hinweise

Rufen Sie CMFCShellListCtrl::SetItemTypes auf, um den Typ der in einer CMFCShellListCtrlListe aufgeführten Elemente festzulegen.

CMFCShellListCtrl::IsDesktop

Bestimmt, ob der Ordner, der im CMFCShellListCtrl -Objekt angezeigt wird, der Desktopordner ist.

BOOL IsDesktop() const;

Rückgabewert

TRUE, wenn der angezeigte Ordner der Desktopordner ist; Andernfalls FALSE.

CMFCShellListCtrl::OnCompareItems

Ausführliche Informationen finden Sie im Quellcode des Ordners VC\atlmfc\src\mfc der Visual Studio-Installation.

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

Parameter

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

Rückgabewert

Bemerkungen

CMFCShellListCtrl::OnFormatFileDate

Das Framework ruft diese Methode auf, wenn das datum, das einem Objekt zugeordnet ist, in eine Zeichenfolge konvertiert werden muss.

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

Parameter

tmFile
[in] Das Datum, das einer Datei zugeordnet ist.

str
[out] Eine Zeichenfolge, die das formatierte Dateidatum enthält.

Hinweise

Wenn ein CMFCShellListCtrl-Klassenobjekt das Datum anzeigt, das einer Datei zugeordnet ist, muss es dieses Datum in ein Zeichenfolgenformat konvertieren. Diese CMFCShellListCtrl Methode wird verwendet, um diese Konvertierung vorzunehmen. Standardmäßig verwendet diese Methode das aktuelle Gebietsschema, um das Datum in eine Zeichenfolge zu formatieren.

CMFCShellListCtrl::OnFormatFileSize

Das Framework ruft diese Methode auf, wenn sie die Größe eines Objekts in eine Zeichenfolge konvertiert.

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

Parameter

lFileSize
[in] Die Größe der Datei, die vom Framework angezeigt wird.

str
[out] Eine Zeichenfolge, die die formatierte Dateigröße enthält.

Hinweise

Wenn ein CMFCShellListCtrl Class-Objekt die Größe einer Datei anzeigen muss, muss die Dateigröße in ein Zeichenfolgenformat konvertiert werden. Diese CMFCShellListCtrl Methode wird verwendet, um diese Konvertierung vorzunehmen. Standardmäßig konvertiert diese Methode die Dateigröße von Bytes in Kilobytes und verwendet dann das aktuelle Gebietsschema, um die Größe in eine Zeichenfolge zu formatieren.

CMFCShellListCtrl::OnGetItemIcon

Das Framework ruft diese Methode auf, um das symbol abzurufen, das einem Shelllistenelement zugeordnet ist.

virtual int OnGetItemIcon(
    int iItem,
    LPAFX_SHELLITEMINFO pItem);

Parameter

iItem
[in] Der Elementindex.

pItem
[in] Ein LPAFX_SHELLITEMINFO Parameter, der das Element beschreibt.

Rückgabewert

Der Index des Symbolbilds bei erfolgreicher Ausführung; -1, wenn die Funktion fehlschlägt.

Hinweise

Der Symbolbildindex basiert auf der Systembildliste.

Standardmäßig basiert diese Methode auf dem pItem-Parameter . Der Wert von iItem wird in der Standardimplementierung nicht verwendet. Sie können iItem verwenden, um benutzerdefiniertes Verhalten zu implementieren.

CMFCShellListCtrl::OnGetItemText

Das Framework ruft diese Methode auf, wenn der Text eines Shellelements abgerufen werden muss.

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

Parameter

iItem
[in] Der Elementindex.

iColumn
[in] Die Interessenspalte.

pItem
[in] Ein LPAFX_SHELLITEMINFO Parameter, der das Element beschreibt.

Rückgabewert

A CString , das den Text enthält, der dem Element zugeordnet ist.

Hinweise

Jedes Element im CMFCShellListCtrl Objekt enthält möglicherweise Text in einer oder mehreren Spalten. Wenn das Framework diese Methode aufruft, gibt es die Spalte an, an der es interessiert ist. Wenn Sie diese Funktion manuell aufrufen, müssen Sie auch die Spalte angeben, an der Sie interessiert sind.

Standardmäßig basiert diese Methode auf dem pItem-Parameter , um zu bestimmen, welches Element verarbeitet werden soll. Der Wert von iItem wird in der Standardimplementierung nicht verwendet.

CMFCShellListCtrl::OnSetColumns

Das Framework ruft diese Methode auf, wenn sie die Namen der Spalten festlegt.

virtual void OnSetColumns();

Hinweise

Standardmäßig erstellt das Framework vier Spalten in einem CMFCShellListCtrl Objekt. Die Namen dieser Spalten sind Name, Größe, Typ und Geändert. Sie können diese Methode überschreiben, um die Anzahl der Spalten und deren Namen anzupassen.

CMFCShellListCtrl::Refresh

Aktualisiert und aktualisiert das CMFCShellListCtrl -Objekt.

virtual HRESULT Refresh();

Rückgabewert

S_OK wenn erfolgreich; andernfalls ein Fehlerwert.

Hinweise

Rufen Sie diese Methode auf, um die Liste der vom Objekt angezeigten CMFCShellListCtrl Elemente zu aktualisieren.

CMFCShellListCtrl::SetItemTypes

Legt den Typ der Elemente fest, die im CMFCShellListCtrl -Objekt aufgeführt sind.

void SetItemTypes(SHCONTF nTypes);

Parameter

nTypes
[in] Eine Liste von Elementtypen, die das CMFCShellListCtrl Objekt unterstützt.

Hinweise

Weitere Informationen zur Liste der Elementtypen finden Sie unter SHCONTF.

Siehe auch

Hierarchiediagramm
Klassen
CMFCListCtrl-Klasse
CMFCShellTreeCtrl-Klasse