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
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 CMFCShellListCtrl
nie 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 CMFCShellListCtrl
nie 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ę CMFCShellListCtrl
CMFCShellListCtrl::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