CTreeCtrl 수업

비고

MFC(Microsoft Foundation Classs) 라이브러리는 계속 지원됩니다. 그러나 더 이상 기능을 추가하거나 설명서를 업데이트하지 않습니다.

Windows의 공용 트리 뷰 컨트롤의 기능을 제공합니다.

구문

class CTreeCtrl : public CWnd

멤버

공용 생성자

속성 설명
CTreeCtrl::CTreeCtrl CTreeCtrl 개체를 생성합니다.

공용 메서드

속성 설명
CTreeCtrl::Create 트리 뷰 컨트롤을 만들어 개체에 CTreeCtrl 연결합니다.
CTreeCtrl::CreateDragImage 지정된 트리 뷰 항목에 대한 끌기 비트맵을 만듭니다.
CTreeCtrl::CreateEx 지정된 Windows 확장 스타일을 사용하여 트리 컨트롤을 만들고 개체에 CTreeCtrl 연결합니다.
CTreeCtrl::DeleteAllItems 트리 뷰 컨트롤의 모든 항목을 삭제합니다.
CTreeCtrl::DeleteItem 트리 뷰 컨트롤에서 새 항목을 삭제합니다.
CTreeCtrl::EditLabel 지정한 트리 뷰 항목을 현재 위치에서 편집합니다.
CTreeCtrl::EndEditLabelNow 현재 트리 뷰 컨트롤의 트리 뷰 항목 레이블에 대한 편집 작업을 취소합니다.
CTreeCtrl::EnsureVisible 트리 뷰 항목이 트리 뷰 컨트롤에 표시되는지 확인합니다.
CTreeCtrl::Expand 지정된 트리 뷰 항목의 자식 항목을 확장하거나 축소합니다.
CTreeCtrl::GetBkColor 컨트롤의 현재 배경색을 검색합니다.
CTreeCtrl::GetCheck 트리 컨트롤 항목의 확인 상태를 검색합니다.
CTreeCtrl::GetChildItem 지정된 트리 뷰 항목의 자식 항목을 검색합니다.
CTreeCtrl::GetCount 트리 뷰 컨트롤과 연결된 트리 항목 수를 검색합니다.
CTreeCtrl::GetDropHilightItem 끌어서 놓기 작업의 대상을 검색합니다.
CTreeCtrl::GetEditControl 지정된 트리 뷰 항목을 편집하는 데 사용되는 편집 컨트롤의 핸들을 검색합니다.
CTreeCtrl::GetExtendedStyle 현재 트리 뷰 컨트롤에서 사용 중인 확장된 스타일을 검색합니다.
CTreeCtrl::GetFirstVisibleItem 지정된 트리 뷰 항목의 첫 번째 표시 항목을 검색합니다.
CTreeCtrl::GetImageList 트리 뷰 컨트롤과 연결된 이미지 목록의 핸들을 검색합니다.
CTreeCtrl::GetIndent 부모에서 트리 뷰 항목의 오프셋(픽셀)을 검색합니다.
CTreeCtrl::GetInsertMarkColor 트리 뷰의 삽입 마크를 그리는 데 사용되는 색을 검색합니다.
CTreeCtrl::GetItem 지정된 트리 뷰 항목의 특성을 검색합니다.
CTreeCtrl::GetItemData 항목과 연결된 애플리케이션별 값을 반환합니다.
CTreeCtrl::GetItemExpandedImageIndex 현재 트리 뷰 컨트롤의 지정된 항목이 확장된 상태일 때 표시할 이미지의 인덱스를 검색합니다.
CTreeCtrl::GetItemHeight 트리 뷰 항목의 현재 높이를 검색합니다.
CTreeCtrl::GetItemImage 항목과 연결된 이미지를 검색합니다.
CTreeCtrl::GetItemPartRect 현재 트리 뷰 컨트롤에서 지정된 항목의 지정된 부분에 대한 경계 사각형을 검색합니다.
CTreeCtrl::GetItemRect 트리 뷰 항목의 경계 사각형을 검색합니다.
CTreeCtrl::GetItemState 항목의 상태를 반환합니다.
CTreeCtrl::GetItemStateEx 현재 트리 뷰 컨트롤에서 지정된 항목의 확장 상태를 검색합니다.
CTreeCtrl::GetItemText 항목의 텍스트를 반환합니다.
CTreeCtrl::GetLastVisibleItem 현재 트리 뷰 컨트롤에서 마지막으로 확장된 항목을 검색합니다.
CTreeCtrl::GetLineColor 트리 뷰 컨트롤의 현재 선 색을 검색합니다.
CTreeCtrl::GetNextItem 지정된 관계와 일치하는 다음 트리 뷰 항목을 검색합니다.
CTreeCtrl::GetNextSiblingItem 지정된 트리 뷰 항목의 다음 형제를 검색합니다.
CTreeCtrl::GetNextVisibleItem 지정된 트리 뷰 항목의 다음으로 표시되는 항목을 검색합니다.
CTreeCtrl::GetParentItem 지정된 트리 뷰 항목의 부모를 검색합니다.
CTreeCtrl::GetPrevSiblingItem 지정된 트리 뷰 항목의 이전 형제를 검색합니다.
CTreeCtrl::GetPrevVisibleItem 지정된 트리 뷰 항목의 이전에 표시된 항목을 검색합니다.
CTreeCtrl::GetRootItem 지정된 트리 뷰 항목의 루트를 검색합니다.
CTreeCtrl::GetScrollTime 트리 뷰 컨트롤의 최대 스크롤 시간을 검색합니다.
CTreeCtrl::GetSelectedCount 현재 트리 뷰 컨트롤에서 선택한 항목의 수를 검색합니다.
CTreeCtrl::GetSelectedItem 현재 선택한 트리 뷰 항목을 검색합니다.
CTreeCtrl::GetTextColor 컨트롤의 현재 텍스트 색을 검색합니다.
CTreeCtrl::GetToolTips 트리 뷰 컨트롤에서 사용하는 자식 ToolTip 컨트롤에 대한 핸들을 검색합니다.
CTreeCtrl::GetVisibleCount 트리 뷰 컨트롤과 연결된 표시되는 트리 항목의 수를 검색합니다.
CTreeCtrl::HitTest 개체와 관련된 커서의 현재 위치를 반환 CTreeCtrl 합니다.
CTreeCtrl::InsertItem 트리 뷰 컨트롤에 새 항목을 삽입합니다.
CTreeCtrl::ItemHasChildren 지정된 항목에 자식 항목이 있는 경우 0이 아닌 값을 반환합니다.
CTreeCtrl::MapAccIdToItem 지정된 접근성 식별자를 핸들에 현재 트리 뷰 컨트롤의 트리 뷰 항목에 매핑합니다.
CTreeCtrl::MapItemToAccID 현재 트리 뷰 컨트롤의 트리 뷰 항목에 지정된 핸들을 접근성 식별자에 매핑합니다.
CTreeCtrl::Select 지정된 트리 뷰 항목을 선택하거나, 뷰로 스크롤하거나, 다시 그립니다.
CTreeCtrl::SelectDropTarget 끌어서 놓기 작업의 대상으로 트리 항목을 다시 그립니다.
CTreeCtrl::SelectItem 지정된 트리 뷰 항목을 선택합니다.
CTreeCtrl::SelectSetFirstVisible 지정된 트리 뷰 항목을 첫 번째 표시 항목으로 선택합니다.
CTreeCtrl::SetAutoscrollInfo 현재 트리 뷰 컨트롤의 자동 제어 속도를 설정합니다.
CTreeCtrl::SetBkColor 컨트롤의 배경색을 설정합니다.
CTreeCtrl::SetCheck 트리 컨트롤 항목의 확인 상태를 설정합니다.
CTreeCtrl::SetExtendedStyle 현재 트리 뷰 컨트롤의 확장 스타일을 설정합니다.
CTreeCtrl::SetImageList 트리 뷰 컨트롤과 연결된 이미지 목록의 핸들을 설정합니다.
CTreeCtrl::SetIndent 부모에서 트리 뷰 항목의 오프셋(픽셀)을 설정합니다.
CTreeCtrl::SetInsertMark 트리 뷰 컨트롤의 삽입 표시를 설정합니다.
CTreeCtrl::SetInsertMarkColor 트리 뷰의 삽입 표시를 그리는 데 사용되는 색을 설정합니다.
CTreeCtrl::SetItem 지정된 트리 뷰 항목의 특성을 설정합니다.
CTreeCtrl::SetItemData 항목과 연결된 애플리케이션별 값을 설정합니다.
CTreeCtrl::SetItemExpandedImageIndex 현재 트리 뷰 컨트롤의 지정된 항목이 확장된 상태일 때 표시할 이미지의 인덱스입니다.
CTreeCtrl::SetItemHeight 트리 뷰 항목의 높이를 설정합니다.
CTreeCtrl::SetItemImage 이미지를 항목과 연결합니다.
CTreeCtrl::SetItemState 항목의 상태를 설정합니다.
CTreeCtrl::SetItemStateEx 현재 트리 뷰 컨트롤에서 지정된 항목의 확장 상태를 설정합니다.
CTreeCtrl::SetItemText 항목의 텍스트를 설정합니다.
CTreeCtrl::SetLineColor 트리 뷰 컨트롤의 현재 선 색을 설정합니다.
CTreeCtrl::SetScrollTime 트리 뷰 컨트롤의 최대 스크롤 시간을 설정합니다.
CTreeCtrl::SetTextColor 컨트롤의 텍스트 색을 설정합니다.
CTreeCtrl::SetToolTips 트리 뷰 컨트롤의 자식 ToolTip 컨트롤을 설정합니다.
CTreeCtrl::ShowInfoTip 현재 트리 뷰 컨트롤에서 지정된 항목에 대한 정보 설명을 표시합니다.
CTreeCtrl::SortChildren 지정된 부모 항목의 자식을 정렬합니다.
CTreeCtrl::SortChildrenCB 애플리케이션 정의 정렬 함수를 사용하여 지정된 부모 항목의 자식을 정렬합니다.

설명

"트리 뷰 컨트롤"은 문서의 제목, 인덱스의 항목 또는 디스크의 파일 및 디렉터리와 같은 항목의 계층적 목록을 표시하는 창입니다. 각 항목은 레이블과 선택적 비트맵 이미지로 구성되며 각 항목에는 연결된 하위 항목 목록이 있을 수 있습니다. 항목을 클릭하면 연결된 하위 항목 목록을 확장하고 축소할 수 있습니다.

이 컨트롤(따라서 CTreeCtrl 클래스)은 Windows 98 및 Windows NT 버전 4 이상에서 실행되는 프로그램에서만 사용할 수 있습니다.

사용에 CTreeCtrl대한 자세한 내용은 다음을 참조하세요.

상속 계층 구조

CObject

CCmdTarget

CWnd

CTreeCtrl

요구 사항

머리글:afxcmn.h

CTreeCtrl::Create

대화 상자 템플릿에서 트리 컨트롤을 지정하거나 사용 CTreeView중인 경우 대화 상자 또는 뷰를 만들 때 트리 컨트롤이 자동으로 만들어집니다.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

매개 변수

dwStyle
트리 뷰 컨트롤의 스타일을 지정합니다. Windows SDK에 CreateWindow설명된 대로 창 스타일과 트리 뷰 컨트롤 스타일의 조합을 적용합니다.

rect
트리 뷰 컨트롤의 크기와 위치를 지정합니다. 개체 또는 CRect 구조체 RECT 일 수 있습니다.

pParentWnd
트리 뷰 컨트롤의 부모 창(일반적으로 .)을 CDialog지정합니다. 해서는 안 됩니다 NULL.

nID
트리 뷰 컨트롤의 ID를 지정합니다.

반환 값

초기화에 성공하면 0이 아닌 값입니다. 그렇지 않으면 0입니다.

설명

트리 컨트롤을 다른 창의 자식 창으로 만들려면 멤버 함수를 Create 사용합니다. 트리 컨트롤을 사용하여 Create만드는 경우 다른 트리 뷰 스타일 외에도 전달 WS_VISIBLE해야 합니다.

두 단계로 구성 CTreeCtrl 합니다. 먼저 생성자를 호출한 다음, 호출 Create합니다. 그러면 트리 뷰 컨트롤이 만들어지고 개체에 CTreeCtrl 연결됩니다.

확장 창 스타일을 사용하여 트리 컨트롤을 만들려면 대신 호출 CreateEx 합니다 Create.

예시

// Assuming your window has a CTreeCtrl member named m_TreeCtrl,
// you can create the tree control window with a child ID of ID_MYTREE
// using a call like this:

m_TreeCtrl.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER |
                      TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES |
                      TVS_DISABLEDRAGDROP | TVS_NOTOOLTIPS | TVS_EDITLABELS,
                  CRect(10, 10, 300, 100), this, ID_MYTREE);

// The control will have the appropriate window styles, and the tree
// control styles specified are those most commonly used.

CTreeCtrl::CreateEx

이 함수를 호출하여 컨트롤(자식 창)을 만들고 개체와 CTreeCtrl 연결합니다.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

매개 변수

dwExStyle
만들 컨트롤의 확장 스타일을 지정합니다. 확장된 Windows 스타일 목록은 Windows SDK의 매개 변수 dwExStyle 를 참조 CreateWindowEx 하세요.

dwStyle
트리 뷰 컨트롤의 스타일을 지정합니다. Windows SDK에 CreateWindow설명된 대로 창 스타일과 트리 뷰 컨트롤 스타일의 조합을 적용합니다.

rect
생성할 RECT 창의 크기와 위치를 설명하는 구조체에 대한 참조로, 클라이언트 좌표로 pParentWnd표시됩니다.

pParentWnd
컨트롤의 부모 창에 대한 포인터입니다.

nID
컨트롤의 자식 창 ID입니다.

반환 값

성공하면 0이 아닌 경우 0입니다.

설명

Windows 확장 스타일 서문CreateEx으로 지정된 확장 Windows 스타일을 적용하는 대신 Create 사용합니다WS_EX_.

CTreeCtrl::CreateDragImage

이 함수를 호출하여 트리 뷰 컨트롤에서 지정된 항목에 대한 끌기 비트맵을 만들고, 비트맵에 대한 이미지 목록을 만들고, 이미지 목록에 비트맵을 추가합니다.

CImageList* CreateDragImage(HTREEITEM hItem);

매개 변수

hItem
끌 트리 항목의 핸들입니다.

반환 값

성공한 경우 끌기 비트맵이 추가된 이미지 목록에 대한 포인터입니다. 그렇지 않으면 NULL.

설명

애플리케이션은 이미지 목록 함수를 사용하여 항목을 끌 때 이미지를 표시합니다.

개체가 CImageList 영구적이므로 완료되면 삭제해야 합니다. 예시:

HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();

CImageList *pImageList = m_TreeCtrl.CreateDragImage(hItem);

// Do something with the image list.

delete pImageList;

CTreeCtrl::CTreeCtrl

CTreeCtrl 개체를 생성합니다.

CTreeCtrl();

CTreeCtrl::DeleteAllItems

트리 뷰 컨트롤에서 모든 항목을 삭제하려면 이 함수를 호출합니다.

BOOL DeleteAllItems();

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

예시

// The underlying Windows API always returns TRUE
VERIFY(m_TreeCtrl.DeleteAllItems());

CTreeCtrl::DeleteItem

트리 뷰 컨트롤에서 항목을 삭제하려면 이 함수를 호출합니다.

BOOL DeleteItem(HTREEITEM hItem);

매개 변수

hItem
삭제할 트리 항목의 핸들입니다. 값이 있는 hitem 경우 TVI_ROOT 트리 뷰 컨트롤에서 모든 항목이 삭제됩니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

예시

// Look at all of the root-level items
HTREEITEM hCurrent = m_TreeCtrl.GetChildItem(TVI_ROOT);
while (hCurrent != NULL)
{
   // Get the text for the item. Notice we use TVIF_TEXT because
   // we want to retrieve only the text, but also specify TVIF_HANDLE
   // because we're getting the item by its handle.
   TVITEM item;
   TCHAR szText[1024];
   item.hItem = hCurrent;
   item.mask = TVIF_TEXT | TVIF_HANDLE;
   item.pszText = szText;
   item.cchTextMax = 1024;

   BOOL bWorked = m_TreeCtrl.GetItem(&item);

   // Try to get the next item
   hCurrent = m_TreeCtrl.GetNextItem(hCurrent, TVGN_NEXT);

   // If we successfuly retrieved an item, and the item's text
   // contains a lowercase letter 'e', delete the item.
   if (bWorked && _tcschr(item.pszText, 'e'))
      m_TreeCtrl.DeleteItem(item.hItem);
}

CTreeCtrl::EditLabel

이 함수를 호출하여 지정된 항목의 텍스트를 바로 편집하기 시작합니다.

CEdit* EditLabel(HTREEITEM hItem);

매개 변수

hItem
편집할 트리 항목의 핸들입니다.

반환 값

성공하면 항목 텍스트를 편집하는 CEdit 데 사용되는 개체에 대한 포인터이고, 그렇지 않으면 NULL.

설명

편집은 항목의 텍스트를 텍스트가 포함된 한 줄 편집 컨트롤로 바꿔서 수행됩니다.

예시

// Make sure the focus is set to the tree control.
m_TreeCtrl.SetFocus();

// Show the edit control on the label of the selected item.
// The tree control must have the TVS_EDITLABELS style set.
HTREEITEM hSel = m_TreeCtrl.GetSelectedItem();
CEdit *pmyEdit = m_TreeCtrl.EditLabel(hSel);
ASSERT(pmyEdit != NULL);

CTreeCtrl::EndEditLabelNow

현재 트리 뷰 컨트롤의 트리 뷰 항목 레이블에 대한 편집 작업을 완료합니다.

BOOL EndEditLabelNow(BOOL fCancelWithoutSave);

매개 변수

fCancelWithoutSave
[in] TRUE 편집 작업을 완료하기 전에 트리 보기 항목에 대한 변경 내용을 취소하거나 FALSE 작업을 완료하기 전에 트리 보기 항목의 변경 내용을 저장합니다.

반환 값

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

이 메서드는 TVM_ENDEDITLABELNOW Windows SDK에 설명된 메시지를 보냅니다.

CTreeCtrl::EnsureVisible

이 함수를 호출하여 트리 뷰 항목이 표시되는지 확인합니다.

BOOL EnsureVisible(HTREEITEM hItem);

매개 변수

hItem
표시할 트리 항목의 핸들입니다.

반환 값

시스템에서 트리 뷰 컨트롤의 항목을 스크롤하여 지정된 항목이 표시되는지 확인했는지를 반환 TRUE 합니다. 그렇지 않으면 반환 값은 .입니다 FALSE.

설명

필요한 경우 함수는 부모 항목을 확장하거나 트리 뷰 컨트롤을 스크롤하여 항목이 표시되도록 합니다.

예시

HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();
// hmyItem is the item that I want to ensure is visible.
HTREEITEM hmyItem = m_TreeCtrl.GetChildItem(hItem);

// Expand the parent, if possible.
HTREEITEM hParent = m_TreeCtrl.GetParentItem(hmyItem);
if (hParent != NULL)
   m_TreeCtrl.Expand(hParent, TVE_EXPAND);

// Ensure the item is visible.
m_TreeCtrl.EnsureVisible(hmyItem);

CTreeCtrl::Expand

이 함수를 호출하여 지정된 부모 항목과 연결된 자식 항목(있는 경우)의 목록을 확장하거나 축소합니다.

BOOL Expand(
    HTREEITEM hItem,
    UINT nCode);

매개 변수

hItem
확장 중인 트리 항목의 핸들입니다.

nCode
수행할 작업 유형을 나타내는 플래그입니다. 이 플래그는 다음 값 중 하나를 가질 수 있습니다.

  • TVE_COLLAPSE 목록을 축소합니다.

  • TVE_COLLAPSERESET 목록을 축소하고 자식 항목을 제거합니다. TVIS_EXPANDEDONCE 상태 플래그가 다시 설정됩니다. 이 플래그는 플래그와 함께 TVE_COLLAPSE 사용해야 합니다.

  • TVE_EXPAND 목록을 확장합니다.

  • TVE_TOGGLE 현재 확장된 경우 목록을 축소하거나 현재 축소된 경우 확장합니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

예시

CTreeCtrl::EnsureVisible에 대한 예를 참조하세요.

CTreeCtrl::GetBkColor

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETBKCOLOR의 동작을 구현합니다.

COLORREF GetBkColor() const;

반환 값

COLORREF 컨트롤의 현재 창 배경색을 나타내는 값입니다. 이 값이 -1이면 컨트롤에서 시스템 창 색을 사용합니다. 이 경우 컨트롤에서 사용 중인 현재 시스템 색을 가져오는 데 사용할 ::GetSysColor(COLOR_WINDOW) 수 있습니다.

예시

CTreeCtrl::SetTextColor에 대한 예를 참조하세요.

CTreeCtrl::GetCheck

이 멤버 함수를 호출하여 항목의 확인 상태를 검색합니다.

BOOL GetCheck(HTREEITEM hItem) const;

매개 변수

hItem
HTREEITEM 상태 정보를 받을 대상입니다.

반환 값

트리 컨트롤 항목이 선택된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

예시

CTreeCtrl::SetCheck에 대한 예를 참조하세요.

CTreeCtrl::GetChildItem

이 함수를 호출하여 지정한 항목의 자식인 트리 뷰 항목을 hItem검색합니다.

HTREEITEM GetChildItem(HTREEITEM hItem) const;

매개 변수

hItem
트리 항목의 핸들입니다.

반환 값

성공하면 자식 항목의 핸들입니다. 그렇지 않으면 NULL.

예시

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Delete all of the children of hmyItem.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hNextItem;
   HTREEITEM hChildItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hChildItem != NULL)
   {
      hNextItem = m_TreeCtrl.GetNextItem(hChildItem, TVGN_NEXT);
      m_TreeCtrl.DeleteItem(hChildItem);
      hChildItem = hNextItem;
   }
}

CTreeCtrl::GetCount

트리 뷰 컨트롤의 항목 수를 검색하려면 이 함수를 호출합니다.

UINT GetCount() const;

반환 값

트리 뷰 컨트롤의 항목 수입니다.

예시

// Delete all of the items from the tree control.
m_TreeCtrl.DeleteAllItems();
ASSERT(m_TreeCtrl.GetCount() == 0);

CTreeCtrl::GetDropHilightItem

끌어서 놓기 작업의 대상인 항목을 검색하려면 이 함수를 호출합니다.

HTREEITEM GetDropHilightItem() const;

반환 값

성공하면 삭제된 항목의 핸들입니다. 그렇지 않으면 NULL.

예시

// Set the item at the point myPoint as the drop target.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectDropTarget(hItem);
   ASSERT(m_TreeCtrl.GetDropHilightItem() == hItem);
}

CTreeCtrl::GetEditControl

트리 뷰 항목의 텍스트를 편집하는 데 사용되는 편집 컨트롤의 핸들을 검색하려면 이 함수를 호출합니다.

CEdit* GetEditControl() const;

반환 값

항목 텍스트를 편집하는 데 사용되는 편집 컨트롤에 대한 포인터입니다(성공한 경우). 그렇지 않으면 NULL.

예시

// The string replacing the text in the edit control.
LPCTSTR lpszmyString = _T("New text!");

// Replace the text in the label edit control, if possible.
CEdit *pEdit = m_TreeCtrl.GetEditControl();

if (pEdit != NULL)
{
   pEdit->SetWindowText(lpszmyString);
}

CTreeCtrl::GetExtendedStyle

현재 트리 뷰 컨트롤에서 사용 중인 확장된 스타일을 검색합니다.

DWORD GetExtendedStyle() const;

반환 값

현재 트리 뷰 컨트롤의 확장된 스타일에 대한 비트 조합(OR)이 포함된 값입니다. 자세한 내용은 트리 뷰 컨트롤 확장 스타일을 참조 하세요.

설명

이 메서드는 TVM_GETEXTENDEDSTYLE Windows SDK에 설명된 메시지를 보냅니다.

CTreeCtrl::GetFirstVisibleItem

이 함수를 호출하여 트리 뷰 컨트롤의 첫 번째 표시 항목을 검색합니다.

HTREEITEM GetFirstVisibleItem() const;

반환 값

표시되는 첫 번째 항목의 핸들입니다. 그렇지 않으면 NULL.

예시

CTreeCtrl::SetCheck에 대한 예를 참조하세요.

CTreeCtrl::GetImageList

이 함수를 호출하여 트리 뷰 컨트롤과 연결된 일반 또는 상태 이미지 목록의 핸들을 검색합니다.

CImageList* GetImageList(UINT nImageList) const;

매개 변수

nImageList
검색할 이미지 목록의 유형입니다. 이미지 목록은 다음 값 중 하나일 수 있습니다.

  • TVSIL_NORMAL 트리 뷰 항목에 대해 선택한 이미지와 선택되지 않은 이미지가 포함된 일반 이미지 목록을 검색합니다.

  • TVSIL_STATE 사용자 정의 상태에 있는 트리 뷰 항목에 대한 이미지를 포함하는 상태 이미지 목록을 검색합니다.

반환 값

성공하면 컨트롤의 이미지 목록에 대한 포인터입니다. 그렇지 않으면 NULL.

설명

트리 뷰 컨트롤의 각 항목에는 연결된 비트맵 이미지 쌍이 있을 수 있습니다. 한 이미지는 항목을 선택할 때 표시되고 다른 이미지는 항목을 선택하지 않으면 표시됩니다. 예를 들어 항목이 선택되면 열린 폴더를 표시하고 선택하지 않으면 닫힌 폴더를 표시할 수 있습니다.

이미지 목록에 대한 자세한 내용은 클래스를 참조하세요 CImageList .

예시

ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == NULL);

m_TreeCtrl.SetImageList(&m_TreeImages, TVSIL_NORMAL);
ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == &m_TreeImages);

CTreeCtrl::GetIndent

이 함수를 호출하여 자식 항목이 부모 항목을 기준으로 들여쓰는 양을 픽셀 단위로 검색합니다.

UINT GetIndent() const;

반환 값

들여쓰기 크기(픽셀 단위)입니다.

예시

// Double the indent.
UINT uIndent = m_TreeCtrl.GetIndent();
m_TreeCtrl.SetIndent(2 * uIndent);

CTreeCtrl::GetInsertMarkColor

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETINSERTMARKCOLOR의 동작을 구현합니다.

COLORREF GetInsertMarkColor() const;

반환 값

COLORREF 현재 삽입 표시 색을 포함하는 값입니다.

예시

// Use the highliight color for the insert mark color.
COLORREF crColor = ::GetSysColor(COLOR_HIGHLIGHT);
m_TreeCtrl.SetInsertMarkColor(crColor);
ASSERT(m_TreeCtrl.GetInsertMarkColor() == crColor);

CTreeCtrl::GetItem

이 함수를 호출하여 지정된 트리 뷰 항목의 특성을 검색합니다.

BOOL GetItem(TVITEM* pItem) const;

매개 변수

pItem
Windows SDK에 TVITEM 설명된 대로 구조체에 대한 포인터입니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

예시

CTreeCtrl::DeleteItem에 대한 예를 참조하세요.

CTreeCtrl::GetItemData

이 함수를 호출하여 지정된 항목과 연결된 애플리케이션별 값을 검색합니다.

DWORD_PTR GetItemData(HTREEITEM hItem) const;

매개 변수

hItem
데이터를 검색할 항목의 핸들입니다.

반환 값

지정한 항목 hItem과 연결된 포인터 크기의 애플리케이션별 값입니다.

예시

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Delete all of the children of hmyItem whose item data is
// not equal to zero.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hNextItem;
   HTREEITEM hChildItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hChildItem != NULL)
   {
      hNextItem = m_TreeCtrl.GetNextItem(hChildItem, TVGN_NEXT);

      if (m_TreeCtrl.GetItemData(hChildItem) != 0)
      {
         m_TreeCtrl.DeleteItem(hChildItem);
      }

      hChildItem = hNextItem;
   }
}

CTreeCtrl::GetItemExpandedImageIndex

현재 트리 뷰 컨트롤의 지정된 항목이 확장된 상태일 때 표시할 이미지의 인덱스를 검색합니다.

int GetItemExpandedImageIndex(HTREEITEM hItem)const;

매개 변수

hItem
[in] 트리 뷰 컨트롤 항목에 대한 핸들입니다.

반환 값

지정된 항목이 확장된 상태일 때 표시할 이미지의 인덱스입니다.

설명

이 메서드는 TVM_GETITEM Windows SDK에 설명된 메시지를 보냅니다. 이 메시지는 트리 뷰 컨트롤 항목을 설명하는 구조를 반환 TVITEMEX 한 다음, 이 메서드는 해당 구조체에서 멤버를 iExpandedImage 검색합니다.

CTreeCtrl::GetItemHeight

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETITEMHEIGHT의 동작을 구현합니다.

SHORT GetItemHeight() const;

반환 값

항목의 높이(픽셀)입니다.

예시

// Double the height of the items.
SHORT sHeight = m_TreeCtrl.GetItemHeight();
m_TreeCtrl.SetItemHeight(2 * sHeight);

CTreeCtrl::GetItemImage

트리 뷰 컨트롤의 각 항목에는 연결된 비트맵 이미지 쌍이 있을 수 있습니다.

BOOL GetItemImage(
    HTREEITEM hItem,
    int& nImage,
    int& nSelectedImage) const;

매개 변수

hItem
이미지를 검색할 항목의 핸들입니다.

nImage
트리 뷰 컨트롤의 이미지 목록 내에서 항목 이미지의 인덱스를 받는 정수입니다.

nSelectedImage
트리 뷰 컨트롤의 이미지 목록 내에서 항목이 선택한 이미지의 인덱스를 받는 정수입니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

이미지는 항목 레이블의 왼쪽에 표시됩니다. 한 이미지는 항목을 선택할 때 표시되고 다른 이미지는 항목을 선택하지 않으면 표시됩니다. 예를 들어 항목이 선택되면 열린 폴더를 표시하고 선택하지 않으면 닫힌 폴더를 표시할 수 있습니다.

이 함수를 호출하여 트리 뷰 컨트롤의 이미지 목록 내에서 항목 이미지 및 선택한 이미지의 인덱스 검색

예시

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// If the selected image is the same as the nonselected image
// then make the selected image one more than the nonselected image.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hItem = m_TreeCtrl.GetChildItem(hmyItem);
   int nImage, nSelectedImage;

   while (hItem != NULL)
   {
      m_TreeCtrl.GetItemImage(hItem, nImage, nSelectedImage);

      if (nImage == nSelectedImage)
      {
         m_TreeCtrl.SetItemImage(hItem, nImage, nImage + 1);
      }

      hItem = m_TreeCtrl.GetNextSiblingItem(hItem);
   }
}

CTreeCtrl::GetItemPartRect

현재 트리 뷰 컨트롤에서 지정된 항목의 지정된 부분에 대한 경계 사각형을 검색합니다.

BOOL GetItemPartRect(
    HTREEITEM hItem,
    int nPart,
    LPRECT lpRect)const;

매개 변수

hItem
[in] 트리 뷰 컨트롤 항목에 대한 핸들입니다.

nPart
[in] 파트의 식별자입니다. TVGIPR_BUTTON로 설정해야 합니다.

lpRect
[out] 구조체에 대한 포인터입니다 RECT . 이 메서드가 성공하면 구조체는 지정 hItem 한 부분의 사각형 좌표를 받습니다 nPart.

반환 값

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

각 트리 컨트롤 항목은 그래픽 사각형으로 제한됩니다. 해당 사각형의 지점을 클릭할 때마다 항목이 적중되었다고 합니다. 이 메서드는 사각형의 점을 클릭할 때 매개 변수로 식별된 항목이 적중되도록 가장 큰 사각형을 hItem 반환합니다.

이 메서드는 TVM_GETITEMPARTRECT Windows SDK에 설명된 메시지를 보냅니다. 자세한 내용은 매크로를 참조하세요 TreeView_GetItemPartRect .

예시

첫 번째 코드 예제는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 m_treeCtrl를 정의합니다. 또한 코드 예제에서는 부호 없는 정수 및 여러 HTREEITEM 변수를 정의합니다. 이러한 변수는 다음 예제에서 사용됩니다.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

다음 코드 예제에서는 접근성 식별자와 CTreeCtrl::MapAccIdToItem 메서드를 사용하여 루트 트리 뷰 항목에 대한 핸들을 검색합니다. 그런 다음 핸들과 메서드를 CTreeCtrl::GetItemPartRect 사용하여 해당 항목 주위에 3D 사각형을 그립니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국 대한 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주의 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다. 이 메서드를 CTreeCtrl::MapItemToAccID 사용하여 루트 트리 뷰 항목을 접근성 식별자와 연결했습니다.

CRect rect;
HTREEITEM hUS = m_treeCtrl.MapAccIdToItem(accIdUS);
m_treeCtrl.GetItemPartRect(hUS, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::GetItemRect

hItem에 대한 경계 사각형을 검색하고 표시 여부를 확인하려면 이 함수를 호출합니다.

BOOL GetItemRect(
    HTREEITEM hItem,
    LPRECT lpRect,
    BOOL bTextOnly) const;

매개 변수

hItem
트리 뷰 컨트롤 항목의 핸들입니다.

lpRect
경계 사각형을 RECT 받는 구조체에 대한 포인터입니다. 좌표는 트리 뷰 컨트롤의 왼쪽 위 모서리를 기준으로 합니다.

bTextOnly
이 매개 변수가 0이 아닌 경우 경계 사각형에는 항목의 텍스트만 포함됩니다. 그렇지 않으면 트리 뷰 컨트롤에서 항목이 차지하는 전체 줄이 포함됩니다.

반환 값

경계 사각형이 포함된 lpRect항목이 표시되는 경우 0이 아닌 값입니다. 그렇지 않으면 초기화되지 않은 0 lpRect 입니다.

예시

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Dump the bounds of hmyItem.
if (hmyItem != NULL)
{
   RECT r;

   m_TreeCtrl.GetItemRect(hmyItem, &r, FALSE);

   TRACE(TEXT("left = %d, top = %d, right = %d, bottom = %d\r\n"),
         r.left,
         r.top,
         r.right,
         r.bottom);
}

CTreeCtrl::GetItemState

로 지정된 hItem항목의 상태를 반환합니다.

UINT GetItemState(
    HTREEITEM hItem,
    UINT nStateMask) const;

매개 변수

hItem
상태를 검색할 항목의 핸들입니다.

nStateMask
검색할 하나 이상의 상태를 나타내는 마스크입니다. 가능한 값에 대한 자세한 내용은 Windows SDK의 nStateMask 구조체 및 state 멤버에 stateMask 대한 TVITEM설명을 참조하세요.

반환 값

UINT 에 지정된 값의 C++ 비트 | 연산자(nStateMask)를 보유하는 A입니다. 가능한 값에 대한 자세한 내용은 을 참조하세요 CTreeCtrl::GetItem. 특정 상태에 대한 값을 찾으려면 다음 예제와 같이 C++ 비트 AND 연산자(&) f에 상태 값 및 반환 값을 수행합니다.

예시

// Show all of the visible items in bold.
HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   ASSERT(TVIS_BOLD & m_TreeCtrl.GetItemState(hItem, TVIS_BOLD));
   hItem = m_TreeCtrl.GetNextVisibleItem(hItem);
}

CTreeCtrl::GetItemStateEx

현재 트리 뷰 컨트롤에서 지정된 항목의 확장 상태를 검색합니다.

UINT GetItemStateEx(HTREEITEM hItem) const;

매개 변수

hItem
[in] 트리 뷰 컨트롤 항목에 대한 핸들입니다.

반환 값

항목의 확장 상태입니다. 자세한 내용은 구조체 uStateEx 의 멤버를 참조하세요 TVITEMEX .

설명

이 메서드는 TVM_GETITEM Windows SDK에 설명된 메시지를 보냅니다. 이 메시지는 트리 뷰 컨트롤 항목을 설명하는 구조를 반환 TVITEMEX 하고, 이 메서드는 해당 구조체에서 멤버를 uStateEx 검색합니다.

CTreeCtrl::GetItemText

로 지정된 hItem항목의 텍스트를 반환합니다.

CString GetItemText(HTREEITEM hItem) const;

매개 변수

hItem
텍스트를 검색할 항목의 핸들입니다.

반환 값

CString 항목의 텍스트가 포함된 개체입니다.

예시

CTreeCtrl::GetNextItem에 대한 예를 참조하세요.

CTreeCtrl::GetLastVisibleItem

현재 트리 뷰 컨트롤에서 마지막으로 열린 노드 항목을 검색합니다.

HTREEITEM GetLastVisibleItem() const;

반환 값

메서드가 성공한 경우 마지막으로 연결되지 않은 노드 항목에 대한 핸들입니다. 그렇지 않으면 . NULL

설명

이 메서드는 TVM_GETNEXTITEM Windows SDK에 설명된 메시지를 보냅니다. 자세한 내용은 해당 메시지의 TVGN_LASTVISIBLE 매개 변수에 있는 플래그를 flag 참조하세요.

예시

첫 번째 코드 예제는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 m_treeCtrl를 정의합니다. 또한 코드 예제에서는 부호 없는 정수 및 여러 HTREEITEM 변수를 정의합니다. 다음 예제에서는 이러한 변수 중 하나 이상이 사용됩니다.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

다음 코드 예제에서는 마지막으로 연결되지 않은 트리 뷰 노드 항목에 대한 핸들을 검색한 다음 해당 항목 주위에 3D 사각형을 그립니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국 대한 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주의 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다.

CRect rect;
HTREEITEM hLast = m_treeCtrl.GetLastVisibleItem();
m_treeCtrl.GetItemPartRect(hLast, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::GetLineColor

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETLINECOLOR의 동작을 구현합니다.

COLORREF GetLineColor() const;

반환 값

현재 선 색입니다.

예시

COLORREF cr = m_TreeCtrl.GetLineColor();

CTreeCtrl::GetNextItem

이 함수를 호출하여 매개 변수로 표시된 nCode 지정된 관계가 있는 트리 뷰 항목을 검색합니다 hItem.

HTREEITEM GetNextItem(
    HTREEITEM hItem,
    UINT nCode) const;

매개 변수

hItem
트리 항목의 핸들입니다.

nCode
관계 hItem유형을 나타내는 플래그입니다. 이 플래그는 다음 값 중 하나일 수 있습니다.

  • TVGN_CARET 현재 선택한 항목을 검색합니다.

  • TVGN_CHILD 매개 변수로 지정된 항목의 첫 번째 자식 항목을 검색합니다 hItem .

  • TVGN_DROPHILITE 끌어서 놓기 작업의 대상인 항목을 검색합니다.

  • TVGN_FIRSTVISIBLE 표시되는 첫 번째 항목을 검색합니다.

  • TVGN_LASTVISIBLE 트리에서 마지막으로 확장된 항목을 검색합니다. 트리 뷰 창에 표시되는 마지막 항목은 검색하지 않습니다.

  • TVGN_NEXT 다음 형제 항목을 검색합니다.

  • TVGN_NEXTVISIBLE 지정된 항목 다음에 표시되는 다음 항목을 검색합니다.

  • TVGN_PARENT 지정된 항목의 부모를 검색합니다.

  • TVGN_PREVIOUS 이전 형제 항목을 검색합니다.

  • TVGN_PREVIOUSVISIBLE 지정된 항목 앞에 표시되는 첫 번째 항목을 검색합니다.

  • TVGN_ROOT 지정된 항목이 일부인 루트 항목의 첫 번째 자식 항목을 검색합니다.

반환 값

성공하면 다음 항목의 핸들입니다. 그렇지 않으면 NULL.

설명

검색되는 항목이 트리의 루트 노드인 경우 이 함수가 반환 NULL 됩니다. 예를 들어 트리 뷰 루트 노드의 첫 번째 수준 자식에 플래그와 함께 TVGN_PARENT 이 메시지를 사용하면 메시지가 반환 NULL됩니다.

예시

루프에서 사용하는 GetNextItem 예제는 다음을 참조하세요 CTreeCtrl::DeleteItem.

// find the currently selected item
HTREEITEM hCurSel = m_TreeCtrl.GetNextItem(TVI_ROOT, TVGN_CARET);

// report it to the user
if (hCurSel == NULL)
{
   AfxMessageBox(_T("There is no selected item"));
}
else
{
   CString str;
   str.Format(_T("The currently selected item is \"%s\""),
              (LPCTSTR)m_TreeCtrl.GetItemText(hCurSel));
   AfxMessageBox((LPCTSTR)str);
}

CTreeCtrl::GetNextSiblingItem

이 함수를 호출하여 다음 형제를 검색합니다 hItem.

HTREEITEM GetNextSiblingItem(HTREEITEM hItem) const;

매개 변수

hItem
트리 항목의 핸들입니다.

반환 값

다음 형제 항목의 핸들입니다. 그렇지 않으면 NULL.

예시

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the children of hmyItem in bold.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hItem != NULL)
   {
      m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
      hItem = m_TreeCtrl.GetNextSiblingItem(hItem);
   }
}

CTreeCtrl::GetNextVisibleItem

다음으로 표시되는 항목을 검색하려면 이 함수를 호출합니다 hItem.

HTREEITEM GetNextVisibleItem(HTREEITEM hItem) const;

매개 변수

hItem
트리 항목의 핸들입니다.

반환 값

표시되는 다음 항목의 핸들입니다. 그렇지 않으면 NULL.

예시

CTreeCtrl::SetCheck에 대한 예를 참조하세요.

CTreeCtrl::GetParentItem

의 부모를 검색하려면 이 함수를 호출합니다 hItem.

HTREEITEM GetParentItem(HTREEITEM hItem) const;

매개 변수

hItem
트리 항목의 핸들입니다.

반환 값

부모 항목의 핸들입니다. 그렇지 않으면 NULL.

설명

지정된 항목의 부모가 트리의 루트 노드인 경우 이 함수가 반환 NULL 됩니다.

예시

CTreeCtrl::EnsureVisible에 대한 예를 참조하세요.

CTreeCtrl::GetPrevSiblingItem

이 함수를 호출하여 이전 형제를 검색합니다 hItem.

HTREEITEM GetPrevSiblingItem(HTREEITEM hItem) const;

매개 변수

hItem
트리 항목의 핸들입니다.

반환 값

이전 형제의 핸들입니다. 그렇지 않으면 NULL.

예시

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the previous siblings of hmyItem in bold.
HTREEITEM hItem = hmyItem;

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   hItem = m_TreeCtrl.GetPrevSiblingItem(hItem);
}

CTreeCtrl::GetPrevVisibleItem

이 함수를 호출하여 이전에 표시된 .의 항목을 검색합니다 hItem.

HTREEITEM GetPrevVisibleItem(HTREEITEM hItem) const;

매개 변수

hItem
트리 항목의 핸들입니다.

반환 값

이전에 표시된 항목의 핸들입니다. 그렇지 않으면 NULL.

예시

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the previous visible items of hmyItem in bold.
HTREEITEM hItem = hmyItem;

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   hItem = m_TreeCtrl.GetPrevVisibleItem(hItem);
}

CTreeCtrl::GetRootItem

이 함수를 호출하여 트리 뷰 컨트롤의 루트 항목을 검색합니다.

HTREEITEM GetRootItem() const;

반환 값

루트 항목의 핸들입니다. 그렇지 않으면 NULL.

예시

CTreeCtrl::EditLabel에 대한 예를 참조하세요.

CTreeCtrl::GetScrollTime

이 멤버 함수를 호출하여 트리 뷰 컨트롤의 최대 스크롤 시간을 검색합니다.

UINT GetScrollTime() const;

반환 값

최대 스크롤 시간(밀리초)입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETSCROLLTIME의 동작을 구현합니다.

CTreeCtrl::GetSelectedCount

현재 트리 뷰 컨트롤에서 선택한 항목의 수를 검색합니다.

UINT GetSelectedCount();

반환 값

선택한 항목의 수입니다.

설명

이 메서드는 TVM_GETSELECTEDCOUNT Windows SDK에 설명된 메시지를 보냅니다.

CTreeCtrl::GetSelectedItem

이 함수를 호출하여 트리 뷰 컨트롤의 현재 선택된 항목을 검색합니다.

HTREEITEM GetSelectedItem() const;

반환 값

선택한 항목의 핸들입니다. 그렇지 않으면 NULL.

예시

// Expand the selected item and make it visible, if possible.
HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();

if ((hItem != NULL) && m_TreeCtrl.ItemHasChildren(hItem))
{
   m_TreeCtrl.Expand(hItem, TVE_EXPAND);
   m_TreeCtrl.EnsureVisible(hItem);
}

CTreeCtrl::GetTextColor

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETTEXTCOLOR의 동작을 구현합니다.

COLORREF GetTextColor() const;

반환 값

COLORREF 현재 텍스트 색을 나타내는 값입니다. 이 값이 -1이면 컨트롤은 텍스트 색에 시스템 색을 사용합니다.

예시

CTreeCtrl::SetTextColor에 대한 예를 참조하세요.

CTreeCtrl::GetToolTips

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETTOOLTIPS의 동작을 구현합니다.

CToolTipCtrl* GetToolTips() const;

반환 값

트리 컨트롤에서 CToolTipCtrl 사용할 개체에 대한 포인터입니다. 멤버 함수가 Create 스타일을 TVS_NOTOOLTIPS사용하는 경우 도구 설명이 사용되지 않고 NULL 반환됩니다.

설명

MFC 구현은 GetToolTips 도구 설명 컨트롤에 대한 핸들이 아니라 트리 컨트롤에서 사용되는 개체를 반환 CToolTipCtrl 합니다.

예시

// If the tree control does not have a tooltips control,
// then use m_ToolTips as the tooltips for the tree control.
if (m_TreeCtrl.GetToolTips() == NULL)
{
   m_TreeCtrl.SetToolTips(&m_ToolTips);
}

CTreeCtrl::GetVisibleCount

이 함수를 호출하여 트리 뷰 컨트롤에 표시되는 항목의 수를 검색합니다.

UINT GetVisibleCount() const;

반환 값

트리 뷰 컨트롤에 표시되는 항목의 수입니다. 그렇지 않으면 - 1.

예시

CTreeCtrl::SetCheck에 대한 예를 참조하세요.

CTreeCtrl::HitTest

트리 뷰 컨트롤의 클라이언트 영역을 기준으로 지정된 지점의 위치를 확인하려면 이 함수를 호출합니다.

HTREEITEM HitTest(
    CPoint pt,
    UINT* pFlags = NULL) const;

HTREEITEM HitTest(TVHITTESTINFO* pHitTestInfo) const;

매개 변수

pt
테스트할 지점의 클라이언트 좌표입니다.

pFlags
적중 테스트 결과에 대한 정보를 수신하는 정수에 대한 포인터입니다. 설명 섹션의 멤버 아래에 flags 나열된 값 중 하나 이상일 수 있습니다.

pHitTestInfo
적중 테스트의 TVHITTESTINFO 위치를 포함하고 적중 테스트의 결과에 대한 정보를 수신하는 구조체의 주소입니다.

반환 값

지정된 지점을 차지하는 트리 뷰 항목의 핸들이거나 NULL 해당 점을 차지하는 항목이 없는 경우입니다.

설명

이 함수가 호출되면 매개 변수는 pt 테스트할 지점의 좌표를 지정합니다. 이 함수는 지정된 지점에 있는 항목의 핸들을 반환하거나 NULL 해당 지점을 차지하는 항목이 없는 경우 반환합니다. 또한 매개 변수에는 pFlags 지정된 지점의 위치를 나타내는 값이 포함됩니다. 가능한 값은 다음과 같습니다.

값 설명
TVHT_ABOVE 클라이언트 영역 위입니다.
TVHT_BELOW 클라이언트 영역 아래에 있습니다.
TVHT_NOWHERE 클라이언트 영역에서 마지막 항목 아래에 있습니다.
TVHT_ONITEM 항목과 연결된 비트맵 또는 레이블에서
TVHT_ONITEMBUTTON 항목과 연결된 단추에 있습니다.
TVHT_ONITEMICON 항목과 연결된 비트맵에서
TVHT_ONITEMINDENT 항목과 연결된 들여쓰기에서
TVHT_ONITEMLABEL 항목과 연결된 레이블(문자열)입니다.
TVHT_ONITEMRIGHT 항목의 오른쪽 영역에 있습니다.
TVHT_ONITEMSTATEICON 사용자 정의 상태에 있는 트리 보기 항목의 상태 아이콘에 있습니다.
TVHT_TOLEFT 클라이언트 영역의 왼쪽에 있습니다.
TVHT_TORIGHT 클라이언트 영역의 오른쪽에 있습니다.

예시

// Select the item that is at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectItem(hItem);
}

CTreeCtrl::InsertItem

트리 뷰 컨트롤에 새 항목을 삽입하려면 이 함수를 호출합니다.

HTREEITEM InsertItem(LPTVINSERTSTRUCT lpInsertStruct);

HTREEITEM InsertItem(
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam,
    HTREEITEM hParent,
    HTREEITEM hInsertAfter);

HTREEITEM InsertItem(
    LPCTSTR lpszItem,
    HTREEITEM hParent = TVI_ROOT,
    HTREEITEM hInsertAfter = TVI_LAST);

HTREEITEM InsertItem(
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    HTREEITEM hParent = TVI_ROOT,
    HTREEITEM hInsertAfter = TVI_LAST);

매개 변수

lpInsertStruct
삽입할 TVINSERTSTRUCT 트리 뷰 항목의 특성을 지정하는 포인터입니다.

nMask
설정할 특성을 지정하는 정수입니다. TVITEM Windows SDK의 구조를 참조하세요.

lpszItem
항목의 텍스트가 포함된 문자열의 주소입니다.

nImage
트리 뷰 컨트롤의 이미지 목록에 있는 항목 이미지의 인덱스입니다.

nSelectedImage
트리 뷰 컨트롤의 이미지 목록에서 항목이 선택한 이미지의 인덱스입니다.

nState
항목의 상태에 대한 값을 지정합니다. 적절한 상태 목록은 Windows SDK의 트리 뷰 컨트롤 항목 상태를 참조하세요.

nStateMask
설정할 상태를 지정합니다. TVITEM Windows SDK의 구조를 참조하세요.

lParam
항목과 연결된 포인터 크기의 애플리케이션별 값입니다.

hParent
삽입된 항목의 부모 핸들입니다.

hInsertAfter
새 항목을 삽입할 항목의 핸들입니다.

반환 값

성공하면 새 항목의 핸들입니다. 그렇지 않으면 NULL.

설명

이 예제에서는 트리 컨트롤 항목을 삽입할 때 함수의 각 버전을 사용할 수 있는 상황을 보여 줍니다.

예시

// Insert a root item using the structure. We must
// initialize a TVINSERTSTRUCT structure and pass its
// address to the call. 

TVINSERTSTRUCT tvInsert;
tvInsert.hParent = NULL;
tvInsert.hInsertAfter = NULL;
tvInsert.item.mask = TVIF_TEXT;
tvInsert.item.pszText = _T("United States");

HTREEITEM hCountry = m_TreeCtrl.InsertItem(&tvInsert);

// Insert subitems of that root. Pennsylvania is
// a state in the United States, so its item will be a child
// of the United States item. We won't set any image or states,
// so we supply only the TVIF_TEXT mask flag. This
// override provides nearly complete control over the
// insertion operation without the tedium of initializing
// a structure. If you're going to add lots of items
// to a tree, you might prefer the structure override
// as it affords you a performance win by allowing you
// to initialize some fields of the structure only once,
// outside of your insertion loop.

HTREEITEM hPA = m_TreeCtrl.InsertItem(TVIF_TEXT,
   _T("Pennsylvania"), 0, 0, 0, 0, 0, hCountry, NULL);

// Insert the "Washington" item and assure that it is
// inserted after the "Pennsylvania" item. This override is 
// more appropriate for conveniently inserting items with 
// images.

HTREEITEM hWA = m_TreeCtrl.InsertItem(_T("Washington"),
   0, 0, hCountry, hPA);

// We'll add some cities under each of the states.
// The override used here is most appropriate
// for inserting text-only items.

m_TreeCtrl.InsertItem(_T("Pittsburgh"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Harrisburg"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Altoona"), hPA, TVI_SORT);

m_TreeCtrl.InsertItem(_T("Seattle"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Kalaloch"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Yakima"), hWA, TVI_SORT);

CTreeCtrl::ItemHasChildren

이 함수를 사용하여 지정된 hItem 트리 항목에 자식 항목이 있는지 여부를 확인합니다.

BOOL ItemHasChildren(HTREEITEM hItem) const;

매개 변수

hItem
트리 항목의 핸들입니다.

반환 값

지정 hItem 한 트리 항목에 자식 항목이 있으면 0이 아닌 경우 0이 아닙니다.

설명

그렇다면 해당 자식 항목을 검색하는 데 사용할 CTreeCtrl::GetChildItem 수 있습니다.

예시

CTreeCtrl::GetSelectedItem에 대한 예를 참조하세요.

CTreeCtrl::MapAccIdToItem

지정된 접근성 식별자를 현재 트리 뷰 컨트롤의 트리 뷰 항목 핸들에 매핑합니다.

HTREEITEM MapAccIdToItem(UINT uAccId) const;

매개 변수

uAccId
[in] 트리 뷰 항목의 요소에 대한 접근성 식별자입니다.

반환 값

매개 변수에 해당하는 트리 뷰 항목(HTREEITEM)에 uAccId 대한 핸들입니다. 자세한 내용은 구조체 hItem 의 멤버를 참조하세요 TVITEMEX .

설명

접근성 보조 기능은 장애가 있는 사용자가 컴퓨터를 사용하는 데 도움이 되는 애플리케이션입니다. 접근성 식별자는 인터페이스에서 창에서 IAccessible 요소를 고유하게 지정하는 데 사용됩니다. API에 IAccessible 대한 자세한 내용은 Microsoft Active Accessibility를 참조 하세요.

이 메서드는 TVM_MAPACCIDTOHTREEITEM Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 m_treeCtrl를 정의합니다. 또한 코드 예제에서는 부호 없는 정수 및 여러 HTREEITEM 변수를 정의합니다. 이러한 변수는 다음 예제에서 사용됩니다.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

다음 코드 예제에서는 접근성 식별자와 CTreeCtrl::MapAccIdToItem 메서드를 사용하여 루트 트리 뷰 항목에 대한 핸들을 검색합니다. 이 예제에서는 핸들과 메서드를 CTreeCtrl::GetItemPartRect 사용하여 해당 항목 주위에 3D 사각형을 그립니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국 대한 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주의 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다. 이 메서드를 CTreeCtrl::MapItemToAccID 사용하여 루트 트리 뷰 항목을 접근성 식별자와 연결했습니다.

CRect rect;
HTREEITEM hUS = m_treeCtrl.MapAccIdToItem(accIdUS);
m_treeCtrl.GetItemPartRect(hUS, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::MapItemToAccID

현재 트리 뷰 컨트롤에 있는 트리 뷰 항목의 지정된 핸들을 접근성 식별자에 매핑합니다.

UINT MapItemToAccID(HTREEITEM hItem) const;

매개 변수

hItem
[in] 컨트롤에 있는 트리 뷰 항목의 핸들입니다. 자세한 내용은 구조체 hItem 의 멤버를 참조하세요 TVITEMEX .

반환 값

hItem 매개 변수에 해당하는 접근성 식별자입니다.

설명

접근성 보조 기능은 장애가 있는 사용자가 컴퓨터를 사용하는 데 도움이 되는 애플리케이션입니다. 접근성 식별자는 인터페이스에서 창에서 IAccessible 요소를 고유하게 지정하는 데 사용됩니다. API에 IAccessible 대한 자세한 내용은 Microsoft Active Accessibility를 참조 하세요.

이 메서드는 TVM_MAPHTREEITEMTOACCID Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 m_treeCtrl를 정의합니다. 또한 코드 예제에서는 부호 없는 정수 및 여러 HTREEITEM 변수를 정의합니다. 이러한 변수는 다음 예제에서 사용됩니다.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

다음 코드 예제에서는 트리 뷰 컨트롤 항목에 대 한 식별 번호를 가져옵니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국 대한 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주의 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다. 이 코드 예제에서는 루트 국가/지역 노드에 대한 고유 ID 번호를 가져옵니다.

// Map an accessibility identifier to the Pennsylvania node.
accIdUS = m_treeCtrl.MapItemToAccId(hCountry);

CTreeCtrl::Select

이 함수를 호출하여 지정된 트리 뷰 항목을 선택하거나, 항목을 보기로 스크롤하거나, 끌어서 놓기 작업의 대상을 나타내는 데 사용되는 스타일의 항목을 다시 그립니다.

BOOL Select(
    HTREEITEM hItem,
    UINT nCode);

매개 변수

hItem
트리 항목의 핸들입니다.

nCode
수행할 작업 유형입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

  • TVGN_CARET 선택 영역을 지정된 항목으로 설정합니다.

  • TVGN_DROPHILITE 끌어서 놓기 작업의 대상을 나타내는 데 사용되는 스타일에서 지정된 항목을 다시 그립니다.

  • TVGN_FIRSTVISIBLE 지정된 항목이 첫 번째 표시 항목이 되도록 트리 보기를 세로로 스크롤합니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

값nCode이 포함된 경우 TVGN_CARET 부모 창에서 알림 TVN_SELCHANGING 메시지를 받습니다TVN_SELCHANGED. 또한 지정된 항목이 축소된 부모 항목의 자식인 경우 부모의 자식 항목 목록이 확장되어 지정된 항목이 표시됩니다. 이 경우 부모 창은 알림 메시지를 받습니다 TVN_ITEMEXPANDINGTVN_ITEMEXPANDED .

예시

CTreeCtrl::HitTest에 대한 예를 참조하세요.

CTreeCtrl::SelectDropTarget

끌어서 놓기 작업의 대상을 나타내는 데 사용되는 스타일의 항목을 다시 그리려면 이 함수를 호출합니다.

BOOL SelectDropTarget(HTREEITEM hItem);

매개 변수

hItem
트리 항목의 핸들입니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

예시

// Set the item at the point myPoint as the drop target.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectDropTarget(hItem);
   ASSERT(m_TreeCtrl.GetDropHilightItem() == hItem);
}

CTreeCtrl::SelectItem

이 함수를 호출하여 지정된 트리 뷰 항목을 선택합니다.

BOOL SelectItem(HTREEITEM hItem);

매개 변수

hItem
트리 항목의 핸들입니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

이 hItem경우 NULL 이 함수는 항목을 선택하지 않습니다.

예시

// Select the item that is at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectItem(hItem);
}

CTreeCtrl::SelectSetFirstVisible

지정된 항목이 첫 번째 표시 항목이 되도록 트리 뷰를 세로로 스크롤하려면 이 함수를 호출합니다.

BOOL SelectSetFirstVisible(HTREEITEM hItem);

매개 변수

hItem
첫 번째 표시 항목으로 설정할 트리 항목의 핸들입니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

함수는 메시지 매개 변수와 TVM_SELECTITEM 함께 창에 TVGN_FIRSTVISIBLE 메시지를 보냅니다.

예시

// Select the item at the point myPoint as the first visible item.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectSetFirstVisible(hItem);
}

CTreeCtrl::SetAutoscrollInfo

현재 트리 뷰 컨트롤의 자동 제어 속도를 설정합니다.

BOOL SetAutoscrollInfo(
    UINT uPixelsPerSec,
    UINT uUpdateTime);

매개 변수

uPixelsPerSec
[in] 스크롤할 초당 픽셀 수입니다.

uUpdateTime
[in] 컨트롤 업데이트 사이의 시간 간격입니다.

반환 값

항상 TRUE를 반환합니다.

설명

자동 제어 매개 변수는 현재 표시되지 않는 항목을 보기로 스크롤하는 데 사용됩니다. 트리 뷰 컨트롤에는 트리 뷰 컨트롤 확장 스타일에 TVS_EX_AUTOHSCROLL이 있어야 합니다.

이 메서드는 TVM_SETAUTOSCROLLINFO Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 m_treeCtrl를 정의합니다. 또한 코드 예제에서는 부호 없는 정수 및 여러 HTREEITEM 변수를 정의합니다. 이러한 변수는 다음 예제에서 사용됩니다.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

다음 코드 예제에서는 현재 트리 뷰 컨트롤의 자동 제어 동작을 설정합니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국 대한 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주의 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다. 포커스가 있는 트리 항목을 표시하기 위해 자동으로 스크롤해야 하므로 트리 뷰 컨트롤을 의도적으로 좁게 만들었습니다. 이 코드 예제에서는 트리 보기 컨트롤이 트리 항목이 표시될 때까지 5초마다 초당 30픽셀을 자동으로 스크롤하도록 설정합니다.

// Scroll 30 pixels/sec and redraw every 5 seconds.
m_treeCtrl.SetAutoscrollInfo(30, 5);

CTreeCtrl::SetBkColor

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_SETBKCOLOR의 동작을 구현합니다.

COLORREF SetBkColor(COLORREF clr);

매개 변수

clr
COLORREF 새 배경색을 포함하는 값입니다. 이 값이 -1이면 컨트롤은 배경색에 시스템 색을 사용하는 것으로 되돌아갑니다.

반환 값

COLORREF 현재 텍스트 색을 나타내는 값입니다. 이 값이 -1이면 컨트롤은 텍스트 색에 시스템 색을 사용합니다.

예시

CTreeCtrl::SetTextColor에 대한 예를 참조하세요.

CTreeCtrl::SetCheck

트리 컨트롤 항목에 대한 확인 상태를 설정하려면 이 멤버 함수를 호출합니다.

BOOL SetCheck(
    HTREEITEM hItem,
    BOOL fCheck = TRUE);

매개 변수

hItem
확인 상태 변경을 받을 대상입니다 HTREEITEM .

fCheck
트리 컨트롤 항목을 선택하거나 선택 취소할지 여부를 나타냅니다. 기본적으로 SetCheck 확인할 항목을 설정합니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

트리 컨트롤 항목이 선택되면(fCheck 로 TRUE설정), 항목이 인접한 확인 표시와 함께 나타납니다.

예시

UINT uCount = m_TreeCtrl.GetVisibleCount();
HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();

// Toggle the check state of all the visible items.
for (UINT i = 0; i < uCount; i++)
{
   ASSERT(hItem != NULL);
   m_TreeCtrl.SetCheck(hItem, !m_TreeCtrl.GetCheck(hItem));
   hItem = m_TreeCtrl.GetNextVisibleItem(hItem);
}

확인란을 사용하려면 트리 컨트롤을 채우기 전에 설정합니다 TVS_CHECKBOXES .

m_TreeCtrl.ModifyStyle(0, TVS_CHECKBOXES);

HTREEITEM aItem = m_TreeCtrl.InsertItem(_T("AAA"));
m_TreeCtrl.SetCheck(aItem);

CTreeCtrl::SetExtendedStyle

현재 트리 뷰 컨트롤의 확장 스타일을 설정합니다.

DWORD SetExtendedStyle(
    DWORD dwExMask,
    DWORD dwExStyles);

매개 변수

dwExMask
[in] 이 메서드의 영향을 받는 현재 트리 뷰 컨트롤의 스타일을 지정하는 비트 마스크입니다. 이 매개 변수가 0이면 무시되고 매개 변수 값 dwExStyles 이 트리 뷰 컨트롤에 할당됩니다. 트리 뷰 컨트롤 확장 스타일에 설명된 스타일의 0 또는 비트 조합(OR)을 지정합니다.

dwExStyles
[in] 현재 트리 뷰 컨트롤에서 설정하거나 지울 스타일을 지정하는 비트 마스크입니다. 스타일 조합을 설정하려면 트리 뷰 컨트롤 확장 스타일에 설명된 스타일의 비트 조합(OR)을 지정합니다. 스타일 집합을 지우려면 0을 지정합니다.

반환 값

이전 확장 컨트롤 스타일을 포함하는 값입니다.

설명

이 메서드는 매개 변수에 dwExMask 지정된 스타일을 지워 매개 변수에 dwExStyles 지정된 스타일을 설정합니다. 변경된 비트에 해당하는 확장 스타일만 해당합니다 dwExMask .

이 메서드는 TVM_SETEXTENDEDSTYLE Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 m_treeCtrl를 정의합니다. 또한 코드 예제에서는 부호 없는 정수 및 여러 HTREEITEM 변수를 정의합니다. 이러한 변수는 다음 예제에서 사용됩니다.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

다음 코드 예제에서는 확장된 TVS_EX_AUTOHSCROLL 스타일을 현재 트리 뷰 컨트롤에 추가합니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국 대한 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주의 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다. 포커스가 있는 트리 항목을 표시하기 위해 자동으로 스크롤해야 하므로 트리 뷰 컨트롤을 의도적으로 좁게 만들었습니다.

m_treeCtrl.SetExtendedStyle(TVS_EX_AUTOHSCROLL, TVS_EX_AUTOHSCROLL);

CTreeCtrl::SetImageList

이 함수를 호출하여 트리 뷰 컨트롤에 대한 일반 또는 상태 이미지 목록을 설정하고 새 이미지를 사용하여 컨트롤을 다시 그리세요.

CImageList* SetImageList(
    CImageList* pImageList,
    int nImageListType);

매개 변수

pImageList
할당할 이미지 목록에 대한 포인터입니다. 이 pImageList경우 NULL 모든 이미지가 트리 뷰 컨트롤에서 제거됩니다.

nImageListType
설정할 이미지 목록의 형식입니다. 이미지 목록은 다음 값 중 하나일 수 있습니다.

  • TVSIL_NORMAL 트리 뷰 항목에 대해 선택한 이미지와 선택되지 않은 이미지가 포함된 일반 이미지 목록을 설정합니다. 오버레이 이미지에 이 상태를 사용해야 합니다.

  • TVSIL_STATE 사용자 정의 상태에 있는 트리 뷰 항목에 대한 이미지를 포함하는 상태 이미지 목록을 설정합니다.

반환 값

이전 이미지 목록에 대한 포인터(있는 경우) 그렇지 않으면 NULL.

예시

CTreeCtrl::GetImageList에 대한 예를 참조하세요.

CTreeCtrl::SetIndent

이 함수를 호출하여 트리 뷰 컨트롤의 들여쓰기 너비를 설정하고 컨트롤을 다시 그려 새 너비를 반영합니다.

void SetIndent(UINT nIndent);

매개 변수

nIndent
들여쓰기의 너비(픽셀 단위)입니다. 시스템 정의 최소 너비보다 작으면 nIndent 새 너비가 시스템 정의 최소값으로 설정됩니다.

예시

CTreeCtrl::GetIndent에 대한 예를 참조하세요.

CTreeCtrl::SetInsertMark

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_SETINSERTMARK의 동작을 구현합니다.

BOOL SetInsertMark(
    HTREEITEM hItem,
    BOOL fAfter = TRUE);

매개 변수

hItem
HTREEITEM 삽입 표시를 배치할 항목을 지정하는

fAfter
BOOL 삽입 표시가 지정된 항목 앞 또는 뒤에 있는지 지정하는 값입니다. 이 인수가 0이 아닌 경우 삽입 표시는 항목 뒤에 배치됩니다. 이 인수가 0이면 삽입 표시가 항목 앞에 배치됩니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

예시

// Set the insert mark to be before the item at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetInsertMark(hItem, FALSE);
}

CTreeCtrl::SetInsertMarkColor

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_SETINSERTMARKCOLOR의 동작을 구현합니다.

COLORREF SetInsertMarkColor(COLORREF clrNew);

매개 변수

clrNew
COLORREF 새 삽입 표시 색을 포함하는 값입니다.

반환 값

COLORREF 이전 삽입 표시 색을 포함하는 값입니다.

예시

CTreeCtrl::GetInsertMarkColor에 대한 예를 참조하세요.

CTreeCtrl::SetItem

이 함수를 호출하여 지정된 트리 뷰 항목의 특성을 설정합니다.

BOOL SetItem(TVITEM* pItem);

BOOL SetItem(
    HTREEITEM hItem,
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam);

매개 변수

pItem
Windows SDK에 TVITEM 설명된 대로 새 항목 특성을 포함하는 구조체에 대한 포인터입니다.

hItem
특성을 설정할 항목의 핸들입니다. hItem Windows SDK에서 TVITEM 구조체의 멤버를 참조하세요.

nMask
설정할 특성을 지정하는 정수입니다. 구조체의 mask 멤버를 참조하세요 TVITEM .

lpszItem
항목의 텍스트가 포함된 문자열의 주소입니다.

nImage
트리 뷰 컨트롤의 이미지 목록에 있는 항목 이미지의 인덱스입니다. 구조체의 iImage 멤버를 참조하세요 TVITEM .

nSelectedImage
트리 뷰 컨트롤의 이미지 목록에서 항목이 선택한 이미지의 인덱스입니다. 구조체의 iSelectedImage 멤버를 참조하세요 TVITEM .

nState
항목의 상태에 대한 값을 지정합니다. 구조체의 State 멤버를 참조하세요 TVITEM .

nStateMask
설정할 상태를 지정합니다. 구조체의 stateMask 멤버를 참조하세요 TVITEM .

lParam
항목과 연결된 포인터 크기의 애플리케이션별 값입니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

구조체에서 TVITEM 멤버는 hItem 항목을 식별하고 멤버는 mask 설정할 특성을 지정합니다.

멤버 또는 매개 변수가 masknMask 값을 TVIF_TEXT 지정 pszText 하는 경우 멤버 또는 lpszItem null로 끝나는 문자열 cchTextMax 의 주소이며 멤버는 무시됩니다. 값을 지정하는 경우 mask 멤버 또는 nMask 매개 변수는 변경할 항목 상태를 지정하고 TVIF_STATE 멤버 또는 stateMask 매개 변수에 해당 상태에 대한 값을 nStateMask포함합니다.statenState

예시

// Show the item at the point myPoint in bold.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetItem(hItem, TVIF_STATE, NULL, 0, 0, TVIS_BOLD,
                      TVIS_BOLD, 0);
}

CTreeCtrl::SetItemData

지정된 항목과 연결된 애플리케이션별 값을 설정하려면 이 함수를 호출합니다.

BOOL SetItemData(
    HTREEITEM hItem,
    DWORD_PTR dwData);

매개 변수

hItem
데이터를 검색할 항목의 핸들입니다.

dwData
지정한 항목 hItem과 연결된 포인터 크기의 애플리케이션별 값입니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

예시

CString str;
HTREEITEM hItem;

// Insert 20 items into the tree control making every item's
// data be the handle of the item.
for (int i = 0; i < 20; i++)
{
   str.Format(TEXT("item %d"), i);
   hItem = m_TreeCtrl.InsertItem(str);

   if (hItem != NULL)
   {
      m_TreeCtrl.SetItemData(hItem, (DWORD_PTR)hItem);
   }
}

CTreeCtrl::SetItemExpandedImageIndex

현재 트리 뷰 컨트롤의 지정된 항목이 확장된 상태일 때 표시할 이미지의 인덱스입니다.

BOOL SetItemExpandedImageIndex(
    HTREEITEM hItem,
    int iExpandedImage);

매개 변수

hItem
[in] 트리 뷰 컨트롤 항목에 대한 핸들입니다.

iExpandedImage
[in] 지정된 항목이 확장된 상태일 때 표시할 이미지의 인덱스입니다.

반환 값

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

이 메서드는 TVM_SETITEM Windows SDK에 설명된 메시지를 보냅니다. 이 메서드는 구조체 iExpandedImage 의 멤버에 매개 변수를 iExpandedImageTVITEMEX 할당한 다음 메시지에서 해당 구조를 사용합니다.

예시

첫 번째 코드 예제는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 m_treeCtrl를 정의합니다. 또한 코드 예제에서는 부호 없는 정수 및 여러 HTREEITEM 변수를 정의합니다. 이러한 변수는 다음 예제에서 사용됩니다.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

다음 코드 예제는 메서드가 메서드에서 설정한 CTreeCtrl::GetItemExpandedImageIndex 값을 반환하는지 여부를 CTreeCtrl::SetItemExpandedImageIndex 확인하는 간단한 테스트입니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국 대한 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주의 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다.

CString str;
CString msg = _T("The set and retrieved item expanded image ")
              _T("indexes are%s equal.");
int nSetItem = 0;
m_treeCtrl.SetItemExpandedImageIndex(hCountry, nSetItem);
int nItem = m_treeCtrl.GetItemExpandedImageIndex(hCountry);
if (nItem == nSetItem)
   str.Format(msg, _T(""));
else
   str.Format(msg, _T(" not"));
AfxMessageBox(str, MB_ICONINFORMATION);

CTreeCtrl::SetItemHeight

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_SETITEMHEIGHT의 동작을 구현합니다.

SHORT SetItemHeight(SHORT cyHeight);

매개 변수

cyHeight
트리 뷰에 있는 모든 항목의 새 높이를 픽셀 단위로 지정합니다. 이 인수가 이미지의 높이보다 작으면 이미지의 높이로 설정됩니다. 이 인수가 짝수이면 가장 가까운 짝수 값으로 반올림됩니다. 이 인수가 -1이면 컨트롤은 기본 항목 높이를 사용하는 것으로 되돌아갑니다.

반환 값

항목의 이전 높이(픽셀)입니다.

예시

CTreeCtrl::GetItemHeight에 대한 예를 참조하세요.

CTreeCtrl::SetItemImage

이미지를 항목과 연결합니다.

BOOL SetItemImage(
    HTREEITEM hItem,
    int nImage,
    int nSelectedImage);

매개 변수

hItem
이미지를 설정할 항목의 핸들입니다.

nImage
트리 뷰 컨트롤의 이미지 목록에 있는 항목 이미지의 인덱스입니다.

nSelectedImage
트리 뷰 컨트롤의 이미지 목록에서 항목이 선택한 이미지의 인덱스입니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

트리 뷰 컨트롤의 각 항목에는 연결된 비트맵 이미지 쌍이 있을 수 있습니다. 이미지는 항목 레이블의 왼쪽에 표시됩니다. 한 이미지는 항목을 선택할 때 표시되고 다른 이미지는 항목을 선택하지 않으면 표시됩니다. 예를 들어 항목이 선택되면 열린 폴더를 표시하고 선택하지 않으면 닫힌 폴더를 표시할 수 있습니다.

이 함수를 호출하여 트리 뷰 컨트롤의 이미지 목록 내에서 항목 이미지의 인덱스와 선택한 이미지의 인덱스 설정을 지정합니다.

이미지에 대한 자세한 내용은 다음을 참조하세요 CImageList.

예시

CTreeCtrl::GetItemImage에 대한 예를 참조하세요.

CTreeCtrl::SetItemState

로 지정된 hItem항목의 상태를 설정합니다.

BOOL SetItemState(
    HTREEITEM hItem,
    UINT nState,
    UINT nStateMask);

매개 변수

hItem
상태를 설정할 항목의 핸들입니다.

nState
항목의 새 상태를 지정합니다.

nStateMask
변경할 상태를 지정합니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

상태에 대한 자세한 내용은 다음을 참조하세요 CTreeCtrl::GetItem.

예시

CTreeCtrl::GetItemState에 대한 예를 참조하세요.

CTreeCtrl::SetItemStateEx

현재 트리 뷰 컨트롤에서 지정된 항목의 확장 상태를 설정합니다.

BOOL SetItemStateEx(
    HTREEITEM hItem,
    UINT uStateEx);

매개 변수

hItem
[in] 트리 뷰 컨트롤 항목에 대한 핸들입니다.

uStateEx
[in] 항목의 확장 상태입니다. 자세한 내용은 구조체 uStateEx 의 멤버를 참조하세요 TVITEMEX .

반환 값

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

이 메서드는 TVM_SETITEM Windows SDK에 설명된 메시지를 보냅니다. 이 메서드는 구조체 uStateEx 의 멤버에 매개 변수를 uStateExTVITEMEX 할당한 다음 메시지에서 해당 구조를 사용합니다.

예시

첫 번째 코드 예제는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 m_treeCtrl를 정의합니다. 또한 코드 예제에서는 부호 없는 정수 및 여러 HTREEITEM 변수를 정의합니다. 이러한 변수는 다음 예제에서 사용됩니다.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

다음 코드 예제에서는 트리 뷰 항목을 사용 안 함 상태로 설정합니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국 대한 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주의 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다. 이 코드 예제에서는 펜실베니아 노드를 사용 안 함 상태로 설정합니다.

// Disable the Pennsylvania node.
m_treeCtrl.SetItemStateEx(hPA, TVIS_EX_DISABLED);

CTreeCtrl::SetItemText

로 지정된 hItem항목의 텍스트를 설정합니다.

BOOL SetItemText(
    HTREEITEM hItem,
    LPCTSTR lpszItem);

매개 변수

hItem
텍스트를 설정할 항목의 핸들입니다.

lpszItem
항목에 대한 새 텍스트가 포함된 문자열의 주소

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

예시

// Clear the text of the item at point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetItemText(hItem, NULL);
}

CTreeCtrl::SetLineColor

이 멤버 함수를 호출하여 트리 뷰 컨트롤의 현재 선 색을 설정합니다.

COLORREF SetLineColor(COLORREF clrNew = CLR_DEFAULT);

매개 변수

clrNew
새 선 색입니다.

반환 값

이전 선 색입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_SETLINECOLOR의 동작을 구현합니다.

예시

COLORREF clrPrev = m_TreeCtrl.SetLineColor(RGB(255, 0, 0));

CTreeCtrl::SetScrollTime

트리 뷰 컨트롤의 최대 스크롤 시간을 설정하려면 이 멤버 함수를 호출합니다.

UINT SetScrollTime(UINT uScrollTime);

매개 변수

uScrollTime
새 최대 스크롤 시간(밀리초)입니다. 이 값이 100보다 작으면 100까지 반올림됩니다.

반환 값

이전 최대 스크롤 시간(밀리초)입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_SETSCROLLTIME의 동작을 구현합니다.

CTreeCtrl::SetTextColor

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_SETTEXTCOLOR의 동작을 구현합니다.

COLORREF SetTextColor(COLORREF clr);

매개 변수

clr
COLORREF 새 텍스트 색을 포함하는 값입니다. 이 인수가 -1이면 컨트롤이 텍스트 색에 시스템 색을 사용하도록 되돌아갑니다.

반환 값

COLORREF 이전 텍스트 색을 나타내는 값입니다. 이 값이 -1이면 컨트롤에서 텍스트 색에 시스템 색을 사용하고 있었습니다.

예시

// change text color to white and background to dark blue
m_TreeCtrl.SetTextColor(RGB(255, 255, 255));
ASSERT(m_TreeCtrl.GetTextColor() == RGB(255, 255, 255));
m_TreeCtrl.SetBkColor(RGB(0, 0, 128));
ASSERT(m_TreeCtrl.GetBkColor() == RGB(0, 0, 128));

// force repaint immediately
m_TreeCtrl.Invalidate();

CTreeCtrl::SetToolTips

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_SETTOOLTIPS의 동작을 구현합니다.

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

매개 변수

pWndTip
트리 컨트롤에서 CToolTipCtrl 사용할 개체에 대한 포인터입니다.

반환 값

이전에 컨트롤 CToolTipCtrl 에서 NULL 사용한 도구 설명이 들어 있거나 이전에 사용된 도구 설명이 없는 개체에 대한 포인터입니다.

설명

도구 설명을 사용하려면 개체를 TVS_NOTOOLTIPS 만들 CTreeCtrl 때 스타일을 나타냅니다.

예시

CTreeCtrl::GetToolTips에 대한 예를 참조하세요.

CTreeCtrl::ShowInfoTip

현재 트리 뷰 컨트롤에서 지정된 항목에 대한 정보 설명을 표시합니다.

void ShowInfoTip(HTREEITEM hItem);

매개 변수

hItem
[in] 컨트롤의 트리 뷰 항목에 대한 핸들입니다. 자세한 내용은 구조체 hItem 의 멤버를 참조하세요 TVITEMEX .

설명

도구 설명과 인포 팁의 차이점에 대한 자세한 내용은 도구 설명 및 정보 설명을 참조하세요.

이 메서드는 TVM_SHOWINFOTIP Windows SDK에 설명된 메시지를 보냅니다.

CTreeCtrl::SortChildren

트리 뷰 컨트롤에서 지정된 부모 항목의 자식 항목을 사전순으로 정렬하려면 이 함수를 호출합니다.

BOOL SortChildren(HTREEITEM hItem);

매개 변수

hItem
자식 항목을 정렬할 부모 항목의 핸들입니다. 이 hItem경우 NULL 트리의 루트에서 정렬이 진행됩니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

SortChildren 는 트리를 통해 재귀되지 않습니다. 의 직할 자식 hItem 만 정렬됩니다.

예시

// Sort all of the items in the tree control.
m_TreeCtrl.SortChildren(TVI_ROOT);

CTreeCtrl::SortChildrenCB

이 함수를 호출하여 항목을 비교하는 애플리케이션 정의 콜백 함수를 사용하여 트리 뷰 항목을 정렬합니다.

BOOL SortChildrenCB(LPTVSORTCB pSort);

매개 변수

pSort
TVSORTCB 구조체에 관한 포인터입니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

구조체의 비교 함수 lpfnCompare는 첫 번째 항목이 두 번째 항목 앞에 오면 음수 값을 반환하고, 첫 번째 항목이 두 번째 항목을 따라야 하는 경우 양수 값을 반환하거나, 두 항목이 동일한 경우 0을 반환해야 합니다.

및 lParam1 매개 변수는 lParam2 비교할 두 항목에 lParam 대한 구조체의 멤버에 해당 TVITEM 합니다. 매개 변수는 lParamSort 구조체의 lParam 멤버에 해당합니다 TV_SORTCB .

예시

// Sort the item in reverse alphabetical order.
int CALLBACK MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
   // lParamSort contains a pointer to the tree control.
   // The lParam of an item is just its handle, 
   // as specified with SetItemData
   CTreeCtrl* pmyTreeCtrl = (CTreeCtrl*)lParamSort;
   CString strItem1 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam1);
   CString strItem2 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam2);

   return strItem2.Compare(strItem1);
}

 

TVSORTCB tvs;

// Sort the tree control's items using my
// callback procedure.
tvs.hParent = TVI_ROOT;
tvs.lpfnCompare = MyCompareProc;
tvs.lParam = (LPARAM)&m_TreeCtrl;

m_TreeCtrl.SortChildrenCB(&tvs);

참고 항목

MFC 샘플 CMNCTRL1
CWnd 클래스
계층 구조 차트
CImageList 클래스