Udostępnij za pośrednictwem


Klasa CMFCShellListCtrl

Klasa CMFCShellListCtrl udostępnia funkcje sterowania listą systemu Windows i rozszerza ją, włączając możliwość wyświetlania listy elementów powłoki.

Składnia

class CMFCShellListCtrl : public CMFCListCtrl

Elementy członkowskie

Metody publiczne

Nazwa/nazwisko opis
CMFCShellListCtrl::D isplayFolder Wyświetla listę elementów zawartych w podanym folderze.
CMFCShellListCtrl::D isplayParentFolder Wyświetla listę elementów zawartych w folderze, który jest elementem nadrzędnym aktualnie wyświetlanego folderu.
CMFCShellListCtrl::EnableShellContextMenu Włącza lub wyłącza menu skrótów.
CMFCShellListCtrl::GetCurrentFolder Pobiera ścieżkę bieżącego folderu.
CMFCShellListCtrl::GetCurrentFolderName Pobiera nazwę bieżącego folderu.
CMFCShellListCtrl::GetCurrentItemIdList Zwraca wartość PIDL bieżącego elementu kontrolki listy.
CMFCShellListCtrl::GetCurrentShellFolder Zwraca wskaźnik do bieżącego folderu powłoki.
CMFCShellListCtrl::GetItemPath Zwraca tekstową ścieżkę elementu.
CMFCShellListCtrl::GetItemTypes Zwraca typy elementów powłoki wyświetlane przez kontrolkę listy.
CMFCShellListCtrl::IsDesktop Sprawdza, czy aktualnie wybrany folder jest folderem pulpitu.
CMFCShellListCtrl::OnCompareItems Struktura wywołuje tę metodę podczas porównywania dwóch elementów. (Przesłonięcia) CMFCListCtrl::OnCompareItems.)
CMFCShellListCtrl::OnFormatFileDate Wywoływana, gdy platforma pobiera datę pliku wyświetlaną przez kontrolkę listy.
CMFCShellListCtrl::OnFormatFileSize Wywoływana, gdy struktura konwertuje rozmiar pliku kontrolki listy.
CMFCShellListCtrl::OnGetItemicon Wywoływana, gdy platforma pobiera ikonę elementu kontrolki listy.
CMFCShellListCtrl::OnGetItemText Wywoływana, gdy struktura konwertuje tekst elementu kontrolki listy.
CMFCShellListCtrl::OnSetColumns Wywoływana przez platformę podczas ustawiania nazw kolumn.
CMFCShellListCtrl::Refresh Odświeża i ponownie maluje kontrolkę listy.
CMFCShellListCtrl::SetItemTypes Ustawia typ elementów wyświetlanych przez kontrolkę listy.

Uwagi

Klasa CMFCShellListCtrl rozszerza funkcjonalność klasy CMFCListCtrl, umożliwiając programowi wyświetlanie listy elementów powłoki systemu Windows. Używany format wyświetlania jest podobny do widoku listy dla okna Eksploratora.

Obiekt CMFCShellTreeCtrl można skojarzyć z obiektem w CMFCShellListCtrl celu utworzenia kompletnego okna Eksploratora. Następnie wybranie elementu w elemencie CMFCShellTreeCtrl spowoduje CMFCShellListCtrl , że obiekt wyświetli listę zawartości wybranego elementu.

Przykład

W poniższym przykładzie pokazano, jak utworzyć obiekt CMFCShellListCtrl klasy i jak wyświetlić folder nadrzędny aktualnie wyświetlanego folderu. Ten fragment kodu jest częścią przykładu Eksploratora.

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

Hierarchia dziedziczenia

Obiekt CObject

CCmdTarget

CWnd

CListCtrl

CMFCListCtrl

CMFCShellListCtrl

Wymagania

Nagłówek: afxshelllistCtrl.h

CMFCShellListCtrl::D isplayFolder

Wyświetla listę elementów zawartych w podanym folderze.

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

Parametry

lpszPath
[in] Ciąg zawierający ścieżkę folderu.

lpItemInfo
[in] Wskaźnik do LPAFX_SHELLITEMINFO struktury, która opisuje folder do wyświetlenia.

Wartość zwracana

S_OK w przypadku powodzenia; E_FAIL w przeciwnym razie.

CMFCShellListCtrl::D isplayParentFolder

Aktualizuje obiekt CMFCShellListCtrl, aby wyświetlić folder nadrzędny aktualnie wyświetlanego folderu.

virtual HRESULT DisplayParentFolder();

Wartość zwracana

S_OK w przypadku powodzenia; E_FAIL w przeciwnym razie.

CMFCShellListCtrl::EnableShellContextMenu

Włącza menu skrótów.

void EnableShellContextMenu(BOOL bEnable = TRUE);

Parametry

bEnable
[in] Wartość logiczna określająca, czy platforma włącza menu skrótów.

CMFCShellListCtrl::GetCurrentFolder

Pobiera ścieżkę aktualnie wybranego folderu w obiekcie CMFCShellListCtrl .

BOOL GetCurrentFolder(CString& strPath) const;

Parametry

strPath
[out] Odwołanie do parametru ciągu, w którym metoda zapisuje ścieżkę.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; 0 w przeciwnym razie.

Uwagi

Ta metoda nie powiedzie się, jeśli w pliku CMFCShellListCtrlnie wybrano folderu .

CMFCShellListCtrl::GetCurrentFolderName

Pobiera nazwę aktualnie wybranego folderu w obiekcie CMFCShellListCtrl .

BOOL GetCurrentFolderName(CString& strName) const;

Parametry

strName
[out] Odwołanie do parametru ciągu, w którym metoda zapisuje nazwę.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; 0 w przeciwnym razie.

Uwagi

Ta metoda nie powiedzie się, jeśli w pliku CMFCShellListCtrlnie wybrano folderu .

CMFCShellListCtrl::GetCurrentItemIdList

Zwraca wartość PIDL aktualnie wybranego elementu.

LPITEMIDLIST GetCurrentItemIdList() const;

Wartość zwracana

PiDL bieżącego elementu.

CMFCShellListCtrl::GetCurrentShellFolder

Pobiera wskaźnik do aktualnie wybranego elementu w obiekcie CMFCShellListCtrl .

const IShellFolder* GetCurrentShellFolder() const;

Wartość zwracana

Wskaźnik do interfejsu IShellFolder dla wybranego obiektu.

Uwagi

Ta metoda zwraca wartość NULL, jeśli żaden obiekt nie jest obecnie zaznaczony.

CMFCShellListCtrl::GetItemPath

Pobiera ścieżkę dla elementu.

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

Parametry

strPath
[out] Odwołanie do ciągu, który odbiera ścieżkę.

iItem
[in] Indeks elementu listy.

Wartość zwracana

Wartość TRUE, jeśli operacja zakończyła się pomyślnie; FAŁSZ w przeciwnym razie.

Uwagi

Indeks dostarczony przez element iItem jest oparty na elementach aktualnie wyświetlanych przez obiekt klasy CMFCShellListCtrl.

CMFCShellListCtrl::GetItemTypes

Zwraca typ elementów wyświetlanych przez obiekt CMFCShellListCtrl .

SHCONTF GetItemTypes() const;

Wartość zwracana

Wartość SHCONTF zawierająca typ elementów wymienionych w pliku CMFCShellListCtrl.

Uwagi

Aby ustawić typ elementów wymienionych w obiekcie , wywołaj metodę CMFCShellListCtrlCMFCShellListCtrl::SetItemTypes.

CMFCShellListCtrl::IsDesktop

Określa, czy folder wyświetlany w obiekcie CMFCShellListCtrl jest folderem pulpitu.

BOOL IsDesktop() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli wyświetlany folder jest folderem pulpitu; FAŁSZ w przeciwnym razie.

CMFCShellListCtrl::OnCompareItems

Aby uzyskać więcej informacji, zobacz kod źródłowy znajdujący się w folderze VC\atlmfc\src\mfc instalacji programu Visual Studio.

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

Parametry

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

Wartość zwracana

Uwagi

CMFCShellListCtrl::OnFormatFileDate

Struktura wywołuje tę metodę, gdy musi przekonwertować datę skojarzona z obiektem na ciąg.

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

Parametry

tmFile
[in] Data skojarzona z plikiem.

Str
[out] Ciąg zawierający sformatowaną datę pliku.

Uwagi

Gdy obiekt klasy CMFCShellListCtrl wyświetla datę skojarzona z plikiem, musi przekonwertować datę na format ciągu. Metoda CMFCShellListCtrl używa tej metody do wykonania tej konwersji. Domyślnie ta metoda używa bieżących ustawień regionalnych do formatowania daty w ciągu.

CMFCShellListCtrl::OnFormatFileSize

Struktura wywołuje tę metodę, gdy konwertuje rozmiar obiektu na ciąg.

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

Parametry

lFileSize
[in] Rozmiar pliku, który będzie wyświetlany w strukturze.

Str
[out] Ciąg zawierający sformatowany rozmiar pliku.

Uwagi

Gdy obiekt klasy CMFCShellListCtrl musi wyświetlać rozmiar pliku, musi przekonwertować rozmiar pliku na format ciągu. Metoda CMFCShellListCtrl używa tej metody do wykonania tej konwersji. Domyślnie ta metoda konwertuje rozmiar pliku z bajtów na kilobajty, a następnie używa bieżących ustawień regionalnych do formatowania rozmiaru na ciąg.

CMFCShellListCtrl::OnGetItemicon

Struktura wywołuje tę metodę w celu pobrania ikony skojarzonej z elementem listy powłoki.

virtual int OnGetItemIcon(
    int iItem,
    LPAFX_SHELLITEMINFO pItem);

Parametry

iItem
[in] Indeks elementu.

pItem
[in] Parametr LPAFX_SHELLITEMINFO opisujący element.

Wartość zwracana

Indeks obrazu ikony, jeśli się powiedzie; -1, jeśli funkcja nie powiedzie się.

Uwagi

Indeks obrazu ikony jest oparty na liście obrazów systemowych.

Domyślnie ta metoda opiera się na parametrze pItem . Wartość elementu iItem nie jest używana w implementacji domyślnej. Możesz użyć elementu iItem , aby zaimplementować zachowanie niestandardowe.

CMFCShellListCtrl::OnGetItemText

Struktura wywołuje tę metodę, gdy musi pobrać tekst elementu powłoki.

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

Parametry

iItem
[in] Indeks elementu.

iColumn
[in] Kolumna zainteresowań.

pItem
[in] Parametr LPAFX_SHELLITEMINFO opisujący element.

Wartość zwracana

Element CString zawierający tekst skojarzony z elementem.

Uwagi

Każdy element w CMFCShellListCtrl obiekcie może zawierać tekst w co najmniej jednej kolumnie. Gdy struktura wywołuje tę metodę, określa kolumnę, którą interesuje. Jeśli wywołasz tę funkcję ręcznie, musisz również określić odpowiednią kolumnę.

Domyślnie ta metoda opiera się na parametrze pItem , aby określić, który element ma być przetwarzany. Wartość elementu iItem nie jest używana w implementacji domyślnej.

CMFCShellListCtrl::OnSetColumns

Struktura wywołuje tę metodę, ustawiając nazwy kolumn.

virtual void OnSetColumns();

Uwagi

Domyślnie struktura tworzy cztery kolumny w CMFCShellListCtrl obiekcie. Nazwy tych kolumn to Nazwa, Rozmiar, Typ i Zmodyfikowane. Tę metodę można zastąpić, aby dostosować liczbę kolumn i ich nazw.

CMFCShellListCtrl::Refresh

Odświeża i ponownie maluje obiekt CMFCShellListCtrl .

virtual HRESULT Refresh();

Wartość zwracana

S_OK w przypadku powodzenia; w przeciwnym razie wartość błędu.

Uwagi

Wywołaj tę metodę, aby odświeżyć listę elementów wyświetlanych przez CMFCShellListCtrl obiekt.

CMFCShellListCtrl::SetItemTypes

Ustawia typ elementów wymienionych w obiekcie CMFCShellListCtrl .

void SetItemTypes(SHCONTF nTypes);

Parametry

nTypes
[in] Lista typów elementów, które CMFCShellListCtrl obsługuje obiekt.

Uwagi

Aby uzyskać więcej informacji na temat listy typów elementów, zobacz SHCONTF.

Zobacz też

Wykres hierarchii
Klasy
Klasa CMFCListCtrl
Klasa CMFCShellTreeCtrl