다음을 통해 공유


CMFCShellTreeCtrl 클래스

클래스는 CMFCShellTreeCtrl 셸 항목의 계층 구조를 표시하여 CTreeCtrl 클래스 기능을 확장합니다.

자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.

구문

class CMFCShellTreeCtrl : public CTreeCtrl

멤버

공용 메서드

이름 설명
CMFCShellTreeCtrl::EnableShellContextMenu 바로 가기 메뉴를 사용하거나 사용하지 않도록 설정합니다.
CMFCShellTreeCtrl::GetFlags IShellFolder::EnumObjects에 전달되는 플래그의 조합을 반환합니다.
CMFCShellTreeCtrl::GetItemPath 항목의 경로를 검색합니다.
CMFCShellTreeCtrl::GetRelatedList CMFCShellTreeCtrl 개체와 함께 탐색기 같은 창을 만드는 데 사용되는 CMFCShellListCtrl 클래스 개체에 대한 포인터를 반환합니다.
CMFCShellTreeCtrl::OnChildNotify 이 창에 적용되는 알림 메시지를 받으면 이 창의 부모 창에서 이 멤버 함수를 호출합니다. (재정의 CWnd::OnChildNotify.)
CMFCShellTreeCtrl::OnGetItemIcon
CMFCShellTreeCtrl::OnGetItemText
CMFCShellTreeCtrl::Refresh 현재 CMFCShellTreeCtrl 개체를 새로 고치고 다시 칠합니다.
CMFCShellTreeCtrl::SelectPath 제공된 PIDL 또는 문자열 경로에 따라 적절한 트리 컨트롤 항목을 선택합니다.
CMFCShellTreeCtrl::SetFlags 트리 컨텍스트를 필터링하는 플래그를 설정합니다(사용하는 IShellFolder::EnumObjects플래그와 유사).
CMFCShellTreeCtrl::SetRelatedList 현재 CMFCShellTreeCtrl 개체와 CMFCShellListCtrl 개체 간의 관계를 설정합니다.

설명

이 클래스는 CTreeCtrl 프로그램에서 Windows Shell 항목을 트리에 포함할 수 있도록 하여 클래스를 확장합니다. 이 클래스를 개체와 CMFCShellListCtrl 연결하여 전체 탐색기 창을 만들 수 있습니다. 그런 다음 트리에서 항목을 선택하면 연결된 목록에 Windows Shell 항목 목록이 표시됩니다.

상속 계층 구조

CObject

CCmdTarget

CWnd

CTreeCtrl

CMFCShellTreeCtrl

요구 사항

헤더: afxshelltreeCtrl.h

예시

다음 예제에서는 CMFCShellTreeCtrl 클래스의 개체를 만드는 방법을 보여 줍니다. 이 코드 조각은 탐색기 샘플일부입니다.

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

바로 가기 메뉴를 사용하도록 설정합니다.

void EnableShellContextMenu(BOOL bEnable = TRUE);

매개 변수

bEnable
[in] 바로 가기 메뉴를 사용할지 여부를 지정하는 부울입니다.

CMFCShellTreeCtrl::GetFlags

CMFCShellTreeCtrl 클래스 개체에 대해 설정된 플래그를 반환 합니다.

DWORD GetFlags() const;

Return Value

현재 설정된 플래그의 조합을 지정하는 DWORD 값입니다.

설명

개체를 CMFCShellTreeCtrl 새로 고칠 때마다 설정된 플래그가 IShellFolder::EnumObjects 메서드로 전송됩니다. CMFCShellTreeCtrl::SetFlags 메서드를 사용하여 플래그를 변경할 수 있습니다 .

CMFCShellTreeCtrl::GetItemPath

CMFCShellTreeCtrl 클래스 개체에서 항목의 경로를 검색합니다.

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

매개 변수

strPath
[out] 문자열 매개 변수에 대한 참조입니다. 이 메서드는 항목의 경로를 이 매개 변수에 씁니다.

htreeItem
[in] 이 메서드는 이 트리 컨트롤 항목의 경로를 검색합니다.

Return Value

성공하는 경우 0이 아닌 값입니다. 그렇지 않은 경우 0입니다.

설명

이 메서드가 실패 하면 strPath 에 빈 문자열이 포함됩니다.

hTreeItem을 지정하지 않으면 이 메서드는 현재 선택한 항목에 대한 문자열을 가져오려고 시도합니다. 선택된 항목이 없고 hTreeItem 이 NULL이면 이 메서드가 실패합니다.

CMFCShellTreeCtrl::GetRelatedList

CMFCShellTreeCtrl 개체와 연결된 CMFCShellListCtrl 클래스 개체에 대한 포인터를 반환합니다.

CMFCShellListCtrl* GetRelatedList() const;

Return Value

이 트리 컨트롤 개체와 연결된 개체에 대한 포인터 CMFCShellListCtrl 입니다.

설명

개체와 함께 개체를 CMFCShellListCtrlCMFCShellTreeCtrl 사용하면 탐색기 같은 창을 만들 수 있습니다. CMFCShellTreeCtrl::SetRelatedList 메서드를 사용하여 두 클래스를 연결합니다. 연결된 후 프레임워크는 변경 내용의 CMFCShellListCtrl 선택 CMFCShellTreeCtrl 항목이 변경되면 자동으로 업데이트합니다.

CMFCShellTreeCtrl::OnChildNotify

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

매개 변수

[in] 메시지
[in] Wparam
[in] Lparam
[in] pLResult

Return Value

설명

CMFCShellTreeCtrl::OnGetItemIcon

virtual int OnGetItemIcon(
    LPAFX_SHELLITEMINFO pItem,
    BOOL bSelected);

매개 변수

[in] pItem
[in] bSelected

Return Value

설명

CMFCShellTreeCtrl::OnGetItemText

virtual CString OnGetItemText(LPAFX_SHELLITEMINFO pItem);

매개 변수

[in] pItem

Return Value

설명

CMFCShellTreeCtrl::Refresh

CMFCShellTreeCtrl새로 고치고 다시 칠합니다.

void Refresh();

설명

에 표시된 항목의 계층 구조를 새로 고치려면 이 메서드를 CMFCShellTreeCtrl호출합니다.

CMFCShellTreeCtrl::SelectPath

제공된 경로를 기반으로 CMFCShellTreeCtrl 클래스에서 항목을 선택합니다.

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

매개 변수

lpszPath
[in] 항목의 경로를 지정하는 문자열입니다.

lpidl
[in] 항목을 지정하는 PIDL

Return Value

S_OK 성공하면

CMFCShellTreeCtrl::SetFlags

트리 컨텍스트를 필터링하는 플래그를 설정합니다.

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

매개 변수

dwFlags
[in] 설정할 플래그입니다.

bRefresh
[in] 즉시 새로 고쳐야 하는지 여부를 CMFCShellTreeCtrl 지정하는 부울입니다.

설명

CMFCShellTreeCtrl 모든 집합 플래그를 IShellFolder::EnumObjects에 전달합니다. 다른 플래그의 값에 대한 자세한 내용은 IShellFolder::EnumObjects를 참조 하세요.

CMFCShellTreeCtrl::SetRelatedList

CMFCShellListCtrl 개체를 CMFCShellTreeCtrl 개체와 연결합니다.

void SetRelatedList(CMFCShellListCtrl* pShellList);

매개 변수

pShellList
[in] 개체에 대한 포인터입니다 CMFCShellListCtrl .

설명

이 메서드는 .와 CMFCShellListCtrl 연결합니다 CMFCShellTreeCtrl. 이러한 개체는 탐색기 같은 창으로 표시될 수 있습니다. 사용자가 개체를 CMFCShellTreeCtrl선택하면 연결된 항목 CMFCShellListCtrl 이 자동으로 업데이트됩니다.

CMFCShellTreeCtrl::GetRelatedList 메서드CMFCShellListCtrl 사용하여 .CMFCShellTreeCtrl

참고 항목

계층 구조 차트
클래스
CTreeCtrl 클래스
CMFCShellListCtrl 클래스