Klasa CMFCShellTreeCtrl

Klasa CMFCShellTreeCtrl rozszerza funkcjonalność klasy CTreeCtrl, wyświetlając hierarchię elementów powłoki.

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

Składnia

class CMFCShellTreeCtrl : public CTreeCtrl

Członkowie

Metody publiczne

Nazwa/nazwisko opis
CMFCShellTreeCtrl::EnableShellContextMenu Włącza lub wyłącza menu skrótów.
CMFCShellTreeCtrl::GetFlags Zwraca kombinację flag przekazywanych do folderu IShellFolder::EnumObjects.
CMFCShellTreeCtrl::GetItemPath Pobiera ścieżkę do elementu.
CMFCShellTreeCtrl::GetRelatedList Zwraca wskaźnik do obiektu klasy CMFCShellListCtrl, który jest używany razem z tym CMFCShellTreeCtrl obiektem w celu utworzenia okna przypominającego Eksploratora.
CMFCShellTreeCtrl::OnChildNotify Ta funkcja składowa jest wywoływana przez okno nadrzędne tego okna, gdy otrzymuje komunikat powiadomienia, który ma zastosowanie do tego okna. (Przesłonięcia) CWnd::OnChildNotify.)
CMFCShellTreeCtrl::OnGetItemicon
CMFCShellTreeCtrl::OnGetItemText
CMFCShellTreeCtrl::Refresh Odświeża i ponownie maluje bieżący CMFCShellTreeCtrl obiekt.
CMFCShellTreeCtrl::SelectPath Wybiera odpowiedni element kontrolki drzewa na podstawie podanej ścieżki PIDL lub ciągu.
CMFCShellTreeCtrl::SetFlags Ustawia flagi, aby filtrować kontekst drzewa (podobnie jak flagi używane przez IShellFolder::EnumObjectsprogram ).
CMFCShellTreeCtrl::SetRelatedList Ustawia relację między bieżącym CMFCShellTreeCtrl obiektem a obiektem CMFCShellListCtrl .

Uwagi

Ta klasa rozszerza klasę CTreeCtrl , umożliwiając programowi uwzględnianie elementów powłoki systemu Windows w drzewie. Ta klasa może być skojarzona z obiektem w CMFCShellListCtrl celu utworzenia kompletnego okna Eksploratora. Następnie wybranie elementu w drzewie spowoduje wyświetlenie listy elementów powłoki systemu Windows na skojarzonej liście.

Hierarchia dziedziczenia

Cobject

Ccmdtarget

Cwnd

Ctreectrl

CMFCShellTreeCtrl

Wymagania

Nagłówek: afxshelltreeCtrl.h

Przykład

W poniższym przykładzie pokazano, jak utworzyć obiekt CMFCShellTreeCtrl klasy. Ten fragment kodu jest częścią przykładu Eksploratora.

CMFCShellTreeCtrl m_wndShellTree;
// const int idTree = 1
CRect rectDummy(0, 0, 0, 0);
const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES |
                          TVS_LINESATROOT | TVS_HASBUTTONS;

// The this pointer points to CFolderBar class which extends the CDockablePane class
m_wndShellTree.Create(dwViewStyle, rectDummy, this, idTree);

CMFCShellTreeCtrl::EnableShellContextMenu

Włącza menu skrótów.

void EnableShellContextMenu(BOOL bEnable = TRUE);

Parametry

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

CMFCShellTreeCtrl::GetFlags

Zwraca flagi ustawione dla obiektu klasy CMFCShellTreeCtrl.

DWORD GetFlags() const;

Wartość zwracana

Wartość DWORD określająca kombinację aktualnie ustawionych flag.

Uwagi

Flagi ustawione w obiekcie CMFCShellTreeCtrl są wysyłane do metody IShellFolder::EnumObjects za każdym razem, gdy obiekt zostanie odświeżony. Flagi można zmienić za pomocą metody CMFCShellTreeCtrl::SetFlags .

CMFCShellTreeCtrl::GetItemPath

Pobiera ścieżkę elementu w obiekcie klasy CMFCShellTreeCtrl.

BOOL GetItemPath(
    CString& strPath,
    HTREEITEM htreeItem = NULL) const;

Parametry

strPath
[out] Odwołanie do parametru ciągu. Metoda zapisuje ścieżkę elementu do tego parametru.

htreeItem
[in] Metoda pobiera ścieżkę dla tego elementu kontrolki drzewa.

Wartość zwracana

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

Uwagi

Jeśli ta metoda nie powiedzie się, parametr strPath zawiera pusty ciąg.

Jeśli nie określisz hTreeItem, ta metoda próbuje uzyskać ciąg dla aktualnie wybranego elementu. Jeśli żaden element nie jest zaznaczony, a hTreeItem ma wartość NULL, ta metoda nie powiedzie się.

CMFCShellTreeCtrl::GetRelatedList

Zwraca wskaźnik do obiektu klasy CMFCShellListCtrl skojarzonego z tym obiektem CMFCShellTreeCtrl.

CMFCShellListCtrl* GetRelatedList() const;

Wartość zwracana

Wskaźnik do obiektu skojarzonego CMFCShellListCtrl z tym obiektem kontrolki drzewa.

Uwagi

Za pomocą CMFCShellListCtrl obiektu wraz z obiektem CMFCShellTreeCtrl można utworzyć okno przypominające eksploratora. Użyj metody CMFCShellTreeCtrl::SetRelatedList , aby skojarzyć dwie klasy. Po ich skojarzeniu platforma automatycznie aktualizuje CMFCShellListCtrl element , jeśli wybór w CMFCShellTreeCtrl zmianach.

CMFCShellTreeCtrl::OnChildNotify

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pLResult);

Parametry

[in] Komunikat
[in] Wparam
[in] Lparam
[in] pLResult

Wartość zwracana

Uwagi

CMFCShellTreeCtrl::OnGetItemicon

virtual int OnGetItemIcon(
    LPAFX_SHELLITEMINFO pItem,
    BOOL bSelected);

Parametry

[in] pItem
[in] bSelected

Wartość zwracana

Uwagi

CMFCShellTreeCtrl::OnGetItemText

virtual CString OnGetItemText(LPAFX_SHELLITEMINFO pItem);

Parametry

[in] pItem

Wartość zwracana

Uwagi

CMFCShellTreeCtrl::Refresh

Odświeża i ponownie maluje cmFCShellTreeCtrl.

void Refresh();

Uwagi

Wywołaj tę metodę, aby odświeżyć hierarchię elementów wyświetlanych w pliku CMFCShellTreeCtrl.

CMFCShellTreeCtrl::SelectPath

Wybiera element w klasie CMFCShellTreeCtrl na podstawie podanej ścieżki.

BOOL SelectPath(LPCTSTR lpszPath);
BOOL SelectPath(LPCITEMIDLIST lpidl);

Parametry

lpszPath
[in] Ciąg określający ścieżkę elementu.

lpidl
[in] PiDL określający element

Wartość zwracana

S_OK w przypadku powodzenia; E_FAIL w przeciwnym razie.

CMFCShellTreeCtrl::SetFlags

Ustawia flagi, aby filtrować kontekst drzewa.

void SetFlags(
    DWORD dwFlags,
    BOOL bRefresh = TRUE);

Parametry

Dwflags
[in] Flagi do ustawienia.

bRefresh
[in] Wartość logiczna określająca, czy CMFCShellTreeCtrl powinny być odświeżane natychmiast.

Uwagi

Obiekt CMFCShellTreeCtrl przekazuje wszystkie flagi zestawu do elementu IShellFolder::EnumObjects. Aby uzyskać więcej informacji na temat wartości różnych flag, zobacz IShellFolder::EnumObjects.

CMFCShellTreeCtrl::SetRelatedList

Kojarzy obiekt CMFCShellListCtrl z obiektem CMFCShellTreeCtrl.

void SetRelatedList(CMFCShellListCtrl* pShellList);

Parametry

pShellList
[in] Wskaźnik do CMFCShellListCtrl obiektu.

Uwagi

Ta metoda kojarzy element CMFCShellListCtrl z elementem CMFCShellTreeCtrl. Te obiekty mogą być wyświetlane jako okno przypominające Eksploratora: jeśli użytkownik wybierze obiekt w CMFCShellTreeCtrlobiekcie , skojarzone elementy w obiekcie CMFCShellListCtrl zostaną automatycznie zaktualizowane.

Użyj metody CMFCShellTreeCtrl::GetRelatedList , aby pobrać CMFCShellListCtrl skojarzony z elementem CMFCShellTreeCtrl.

Zobacz też

Wykres hierarchii
Klasy
Klasa CTreeCtrl
Klasa CMFCShellListCtrl