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
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 CMFCShellListCtrl
Datei 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 CMFCShellListCtrl
Datei 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 CMFCShellListCtrl
Datei aufgeführten Elemente enthält.
Hinweise
Rufen Sie CMFCShellListCtrl::SetItemTypes auf, um den Typ der in einer CMFCShellListCtrl
Liste 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