CTreeCtrl
수업
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
대한 자세한 내용은 다음을 참조하세요.
상속 계층 구조
CTreeCtrl
요구 사항
머리글: afxcmn.h
CTreeCtrl::Create
대화 상자 템플릿에서 트리 컨트롤을 지정하거나 사용 CTreeView
중인 경우 대화 상자 또는 뷰를 만들 때 트리 컨트롤이 자동으로 만들어집니다.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
매개 변수
dwStyle
트리 뷰 컨트롤의 스타일을 지정합니다. Windows SDK에 CreateWindow
설명된 대로 창 스타일과 트리 뷰 컨트롤 스타일의 조합을 적용합니다.
rect
트리 뷰 컨트롤의 크기와 위치를 지정합니다. 개체 또는 RECT
구조체 CRect
일 수 있습니다.
pParentWnd
트리 뷰 컨트롤의 부모 창(일반적으로 .)을 CDialog
지정합니다. 해서는 안 됩니다 NULL
.
nID
트리 뷰 컨트롤의 ID를 지정합니다.
Return Value
초기화에 성공하면 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의 매개 변수 CreateWindowEx
를 참조 dwExStyle
하세요.
dwStyle
트리 뷰 컨트롤의 스타일을 지정합니다. Windows SDK에 CreateWindow
설명된 대로 창 스타일과 트리 뷰 컨트롤 스타일의 조합을 적용합니다.
rect
생성할 RECT
창의 크기와 위치를 설명하는 구조체에 대한 참조로, 클라이언트 좌표로 pParentWnd
표시됩니다.
pParentWnd
컨트롤의 부모 창에 대한 포인터입니다.
nID
컨트롤의 자식 창 ID입니다.
Return Value
성공하면 0이 아닌 경우 0입니다.
설명
Windows 확장 스타일 서문WS_EX_
으로 지정된 확장 Windows 스타일을 적용하는 대신 Create
사용합니다CreateEx
.
CTreeCtrl::CreateDragImage
이 함수를 호출하여 트리 뷰 컨트롤에서 지정된 항목에 대한 끌기 비트맵을 만들고, 비트맵에 대한 이미지 목록을 만들고, 이미지 목록에 비트맵을 추가합니다.
CImageList* CreateDragImage(HTREEITEM hItem);
매개 변수
hItem
끌 트리 항목의 핸들입니다.
Return Value
성공한 경우 끌기 비트맵이 추가된 이미지 목록에 대한 포인터입니다. 그렇지 않으면 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();
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
예시
// The underlying Windows API always returns TRUE
VERIFY(m_TreeCtrl.DeleteAllItems());
CTreeCtrl::DeleteItem
트리 뷰 컨트롤에서 항목을 삭제하려면 이 함수를 호출합니다.
BOOL DeleteItem(HTREEITEM hItem);
매개 변수
hItem
삭제할 트리 항목의 핸들입니다. 값이 있는 TVI_ROOT
경우 hitem
트리 뷰 컨트롤에서 모든 항목이 삭제됩니다.
Return Value
성공하면 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
편집할 트리 항목의 핸들입니다.
Return Value
성공하면 항목 텍스트를 편집하는 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
작업을 완료하기 전에 트리 보기 항목의 변경 내용을 저장합니다.
Return Value
TRUE
이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE
설명
이 메서드는 TVM_ENDEDITLABELNOW
Windows SDK에 설명된 메시지를 보냅니다.
CTreeCtrl::EnsureVisible
이 함수를 호출하여 트리 뷰 항목이 표시되는지 확인합니다.
BOOL EnsureVisible(HTREEITEM hItem);
매개 변수
hItem
표시할 트리 항목의 핸들입니다.
Return Value
시스템에서 트리 뷰 컨트롤의 항목을 스크롤하여 지정된 항목이 표시되는지 확인했는지를 반환 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
현재 확장된 경우 목록을 축소하거나 현재 축소된 경우 확장합니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
예시
CTreeCtrl::EnsureVisible
에 대한 예를 참조하세요.
CTreeCtrl::GetBkColor
이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETBKCOLOR
의 동작을 구현합니다.
COLORREF GetBkColor() const;
Return Value
COLORREF
컨트롤의 현재 창 배경색을 나타내는 값입니다. 이 값이 -1이면 컨트롤에서 시스템 창 색을 사용합니다. 이 경우 컨트롤에서 사용 중인 현재 시스템 색을 가져오는 데 사용할 ::GetSysColor(COLOR_WINDOW)
수 있습니다.
예시
CTreeCtrl::SetTextColor
에 대한 예를 참조하세요.
CTreeCtrl::GetCheck
이 멤버 함수를 호출하여 항목의 확인 상태를 검색합니다.
BOOL GetCheck(HTREEITEM hItem) const;
매개 변수
hItem
HTREEITEM
상태 정보를 받을 대상입니다.
Return Value
트리 컨트롤 항목이 선택된 경우 0이 아닌 경우 그렇지 않으면 0입니다.
예시
CTreeCtrl::SetCheck
에 대한 예를 참조하세요.
CTreeCtrl::GetChildItem
이 함수를 호출하여 지정한 항목의 자식인 트리 뷰 항목을 hItem
검색합니다.
HTREEITEM GetChildItem(HTREEITEM hItem) const;
매개 변수
hItem
트리 항목의 핸들입니다.
Return Value
성공하면 자식 항목의 핸들입니다. 그렇지 않으면 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;
Return Value
트리 뷰 컨트롤의 항목 수입니다.
예시
// Delete all of the items from the tree control.
m_TreeCtrl.DeleteAllItems();
ASSERT(m_TreeCtrl.GetCount() == 0);
CTreeCtrl::GetDropHilightItem
끌어서 놓기 작업의 대상인 항목을 검색하려면 이 함수를 호출합니다.
HTREEITEM GetDropHilightItem() const;
Return Value
성공하면 삭제된 항목의 핸들입니다. 그렇지 않으면 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;
Return Value
항목 텍스트를 편집하는 데 사용되는 편집 컨트롤에 대한 포인터입니다(성공한 경우). 그렇지 않으면 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;
Return Value
현재 트리 뷰 컨트롤의 확장된 스타일에 대한 비트 조합(OR)이 포함된 값입니다. 자세한 내용은 트리 뷰 컨트롤 확장 스타일을 참조 하세요.
설명
이 메서드는 TVM_GETEXTENDEDSTYLE
Windows SDK에 설명된 메시지를 보냅니다.
CTreeCtrl::GetFirstVisibleItem
이 함수를 호출하여 트리 뷰 컨트롤의 첫 번째 표시 항목을 검색합니다.
HTREEITEM GetFirstVisibleItem() const;
Return Value
표시되는 첫 번째 항목의 핸들입니다. 그렇지 않으면 NULL
.
예시
CTreeCtrl::SetCheck
에 대한 예를 참조하세요.
CTreeCtrl::GetImageList
이 함수를 호출하여 트리 뷰 컨트롤과 연결된 일반 또는 상태 이미지 목록의 핸들을 검색합니다.
CImageList* GetImageList(UINT nImageList) const;
매개 변수
nImageList
검색할 이미지 목록의 유형입니다. 이미지 목록은 다음 값 중 하나일 수 있습니다.
TVSIL_NORMAL
트리 뷰 항목에 대해 선택한 이미지와 선택되지 않은 이미지가 포함된 일반 이미지 목록을 검색합니다.TVSIL_STATE
사용자 정의 상태에 있는 트리 뷰 항목에 대한 이미지를 포함하는 상태 이미지 목록을 검색합니다.
Return Value
성공하면 컨트롤의 이미지 목록에 대한 포인터입니다. 그렇지 않으면 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;
Return Value
들여쓰기 크기(픽셀 단위)입니다.
예시
// Double the indent.
UINT uIndent = m_TreeCtrl.GetIndent();
m_TreeCtrl.SetIndent(2 * uIndent);
CTreeCtrl::GetInsertMarkColor
이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETINSERTMARKCOLOR
의 동작을 구현합니다.
COLORREF GetInsertMarkColor() const;
Return Value
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
설명된 대로 구조체에 대한 포인터입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
예시
CTreeCtrl::DeleteItem
에 대한 예를 참조하세요.
CTreeCtrl::GetItemData
이 함수를 호출하여 지정된 항목과 연결된 애플리케이션별 값을 검색합니다.
DWORD_PTR GetItemData(HTREEITEM hItem) const;
매개 변수
hItem
데이터를 검색할 항목의 핸들입니다.
Return Value
지정한 항목 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] 트리 뷰 컨트롤 항목에 대한 핸들입니다.
Return Value
지정된 항목이 확장된 상태일 때 표시할 이미지의 인덱스입니다.
설명
이 메서드는 TVM_GETITEM
Windows SDK에 설명된 메시지를 보냅니다. 이 메시지는 트리 뷰 컨트롤 항목을 설명하는 구조를 반환 TVITEMEX
한 다음, 이 메서드는 해당 구조체에서 멤버를 iExpandedImage
검색합니다.
CTreeCtrl::GetItemHeight
이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETITEMHEIGHT
의 동작을 구현합니다.
SHORT GetItemHeight() const;
Return Value
항목의 높이(픽셀)입니다.
예시
// 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
트리 뷰 컨트롤의 이미지 목록 내에서 항목이 선택한 이미지의 인덱스를 받는 정수입니다.
Return Value
성공하면 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
.
Return Value
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이 아닌 경우 경계 사각형에는 항목의 텍스트만 포함됩니다. 그렇지 않으면 트리 뷰 컨트롤에서 항목이 차지하는 전체 줄이 포함됩니다.
Return Value
경계 사각형이 포함된 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의 state
구조체 및 stateMask
멤버에 TVITEM
대한 nStateMask
설명을 참조하세요.
Return Value
UINT
에 지정된 nStateMask
값의 C++ 비트 OR 연산자(|
)를 보유하는 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] 트리 뷰 컨트롤 항목에 대한 핸들입니다.
Return Value
항목의 확장 상태입니다. 자세한 내용은 구조체 uStateEx
의 멤버를 참조하세요 TVITEMEX
.
설명
이 메서드는 TVM_GETITEM
Windows SDK에 설명된 메시지를 보냅니다. 이 메시지는 트리 뷰 컨트롤 항목을 설명하는 구조를 반환 TVITEMEX
하고, 이 메서드는 해당 구조체에서 멤버를 uStateEx
검색합니다.
CTreeCtrl::GetItemText
로 지정된 hItem
항목의 텍스트를 반환합니다.
CString GetItemText(HTREEITEM hItem) const;
매개 변수
hItem
텍스트를 검색할 항목의 핸들입니다.
Return Value
CString
항목의 텍스트가 포함된 개체입니다.
예시
CTreeCtrl::GetNextItem
에 대한 예를 참조하세요.
CTreeCtrl::GetLastVisibleItem
현재 트리 뷰 컨트롤에서 마지막으로 열린 노드 항목을 검색합니다.
HTREEITEM GetLastVisibleItem() const;
Return Value
메서드가 성공한 경우 마지막으로 연결되지 않은 노드 항목에 대한 핸들입니다. 그렇지 않으면 . 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;
Return Value
현재 선 색입니다.
예시
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
지정된 항목이 일부인 루트 항목의 첫 번째 자식 항목을 검색합니다.
Return Value
성공하면 다음 항목의 핸들입니다. 그렇지 않으면 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
트리 항목의 핸들입니다.
Return Value
다음 형제 항목의 핸들입니다. 그렇지 않으면 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
트리 항목의 핸들입니다.
Return Value
표시되는 다음 항목의 핸들입니다. 그렇지 않으면 NULL
.
예시
CTreeCtrl::SetCheck
에 대한 예를 참조하세요.
CTreeCtrl::GetParentItem
의 부모를 검색하려면 이 함수를 호출합니다 hItem
.
HTREEITEM GetParentItem(HTREEITEM hItem) const;
매개 변수
hItem
트리 항목의 핸들입니다.
Return Value
부모 항목의 핸들입니다. 그렇지 않으면 NULL
.
설명
지정된 항목의 부모가 트리의 루트 노드인 경우 이 함수가 반환 NULL
됩니다.
예시
CTreeCtrl::EnsureVisible
에 대한 예를 참조하세요.
CTreeCtrl::GetPrevSiblingItem
이 함수를 호출하여 이전 형제를 검색합니다 hItem
.
HTREEITEM GetPrevSiblingItem(HTREEITEM hItem) const;
매개 변수
hItem
트리 항목의 핸들입니다.
Return Value
이전 형제의 핸들입니다. 그렇지 않으면 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
트리 항목의 핸들입니다.
Return Value
이전에 표시된 항목의 핸들입니다. 그렇지 않으면 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;
Return Value
루트 항목의 핸들입니다. 그렇지 않으면 NULL
.
예시
CTreeCtrl::EditLabel
에 대한 예를 참조하세요.
CTreeCtrl::GetScrollTime
이 멤버 함수를 호출하여 트리 뷰 컨트롤의 최대 스크롤 시간을 검색합니다.
UINT GetScrollTime() const;
Return Value
최대 스크롤 시간(밀리초)입니다.
설명
이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETSCROLLTIME
의 동작을 구현합니다.
CTreeCtrl::GetSelectedCount
현재 트리 뷰 컨트롤에서 선택한 항목의 수를 검색합니다.
UINT GetSelectedCount();
Return Value
선택한 항목의 수입니다.
설명
이 메서드는 TVM_GETSELECTEDCOUNT
Windows SDK에 설명된 메시지를 보냅니다.
CTreeCtrl::GetSelectedItem
이 함수를 호출하여 트리 뷰 컨트롤의 현재 선택된 항목을 검색합니다.
HTREEITEM GetSelectedItem() const;
Return Value
선택한 항목의 핸들입니다. 그렇지 않으면 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;
Return Value
COLORREF
현재 텍스트 색을 나타내는 값입니다. 이 값이 -1이면 컨트롤은 텍스트 색에 시스템 색을 사용합니다.
예시
CTreeCtrl::SetTextColor
에 대한 예를 참조하세요.
CTreeCtrl::GetToolTips
이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_GETTOOLTIPS
의 동작을 구현합니다.
CToolTipCtrl* GetToolTips() const;
Return Value
트리 컨트롤에서 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;
Return Value
트리 뷰 컨트롤에 표시되는 항목의 수입니다. 그렇지 않으면 - 1.
예시
CTreeCtrl::SetCheck
에 대한 예를 참조하세요.
CTreeCtrl::HitTest
트리 뷰 컨트롤의 클라이언트 영역을 기준으로 지정된 지점의 위치를 확인하려면 이 함수를 호출합니다.
HTREEITEM HitTest(
CPoint pt,
UINT* pFlags = NULL) const;
HTREEITEM HitTest(TVHITTESTINFO* pHitTestInfo) const;
매개 변수
pt
테스트할 지점의 클라이언트 좌표입니다.
pFlags
적중 테스트 결과에 대한 정보를 수신하는 정수에 대한 포인터입니다. 설명 섹션의 멤버 아래에 flags
나열된 값 중 하나 이상일 수 있습니다.
pHitTestInfo
적중 테스트의 TVHITTESTINFO
위치를 포함하고 적중 테스트의 결과에 대한 정보를 수신하는 구조체의 주소입니다.
Return Value
지정된 지점을 차지하는 트리 뷰 항목의 핸들이거나 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
새 항목을 삽입할 항목의 핸들입니다.
Return Value
성공하면 새 항목의 핸들입니다. 그렇지 않으면 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
트리 항목의 핸들입니다.
Return Value
지정 hItem
한 트리 항목에 자식 항목이 있으면 0이 아닌 경우 0이 아닙니다.
설명
그렇다면 해당 자식 항목을 검색하는 데 사용할 CTreeCtrl::GetChildItem
수 있습니다.
예시
CTreeCtrl::GetSelectedItem
에 대한 예를 참조하세요.
CTreeCtrl::MapAccIdToItem
지정된 접근성 식별자를 현재 트리 뷰 컨트롤의 트리 뷰 항목 핸들에 매핑합니다.
HTREEITEM MapAccIdToItem(UINT uAccId) const;
매개 변수
uAccId
[in] 트리 뷰 항목의 요소에 대한 접근성 식별자입니다.
Return Value
매개 변수에 해당하는 트리 뷰 항목(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
.
Return Value
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
지정된 항목이 첫 번째 표시 항목이 되도록 트리 보기를 세로로 스크롤합니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
값TVGN_CARET
이 포함된 경우 nCode
부모 창에서 알림 TVN_SELCHANGED
메시지를 받습니다TVN_SELCHANGING
. 또한 지정된 항목이 축소된 부모 항목의 자식인 경우 부모의 자식 항목 목록이 확장되어 지정된 항목이 표시됩니다. 이 경우 부모 창은 알림 메시지를 받습니다 TVN_ITEMEXPANDING
TVN_ITEMEXPANDED
.
예시
CTreeCtrl::HitTest
에 대한 예를 참조하세요.
CTreeCtrl::SelectDropTarget
끌어서 놓기 작업의 대상을 나타내는 데 사용되는 스타일의 항목을 다시 그리려면 이 함수를 호출합니다.
BOOL SelectDropTarget(HTREEITEM hItem);
매개 변수
hItem
트리 항목의 핸들입니다.
Return Value
성공하면 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
트리 항목의 핸들입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
이 NULL
경우 hItem
이 함수는 항목을 선택하지 않습니다.
예시
// 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
첫 번째 표시 항목으로 설정할 트리 항목의 핸들입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
함수는 메시지 매개 변수와 TVGN_FIRSTVISIBLE
함께 창에 TVM_SELECTITEM
메시지를 보냅니다.
예시
// 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] 컨트롤 업데이트 사이의 시간 간격입니다.
Return Value
항상 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이면 컨트롤은 배경색에 시스템 색을 사용하는 것으로 되돌아갑니다.
Return Value
COLORREF
현재 텍스트 색을 나타내는 값입니다. 이 값이 -1이면 컨트롤은 텍스트 색에 시스템 색을 사용합니다.
예시
CTreeCtrl::SetTextColor
에 대한 예를 참조하세요.
CTreeCtrl::SetCheck
트리 컨트롤 항목에 대한 확인 상태를 설정하려면 이 멤버 함수를 호출합니다.
BOOL SetCheck(
HTREEITEM hItem,
BOOL fCheck = TRUE);
매개 변수
hItem
확인 상태 변경을 받을 대상입니다 HTREEITEM
.
fCheck
트리 컨트롤 항목을 선택하거나 선택 취소할지 여부를 나타냅니다. 기본적으로 SetCheck
확인할 항목을 설정합니다.
Return Value
성공하면 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을 지정합니다.
Return Value
이전 확장 컨트롤 스타일을 포함하는 값입니다.
설명
이 메서드는 매개 변수에 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
할당할 이미지 목록에 대한 포인터입니다. 이 NULL
경우 pImageList
모든 이미지가 트리 뷰 컨트롤에서 제거됩니다.
nImageListType
설정할 이미지 목록의 형식입니다. 이미지 목록은 다음 값 중 하나일 수 있습니다.
TVSIL_NORMAL
트리 뷰 항목에 대해 선택한 이미지와 선택되지 않은 이미지가 포함된 일반 이미지 목록을 설정합니다. 오버레이 이미지에 이 상태를 사용해야 합니다.TVSIL_STATE
사용자 정의 상태에 있는 트리 뷰 항목에 대한 이미지를 포함하는 상태 이미지 목록을 설정합니다.
Return Value
이전 이미지 목록에 대한 포인터(있는 경우) 그렇지 않으면 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이면 삽입 표시가 항목 앞에 배치됩니다.
Return Value
성공하면 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
새 삽입 표시 색을 포함하는 값입니다.
Return Value
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
항목과 연결된 포인터 크기의 애플리케이션별 값입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
구조체에서 TVITEM
멤버는 hItem
항목을 식별하고 멤버는 mask
설정할 특성을 지정합니다.
멤버 또는 매개 변수가 mask
nMask
값을 pszText
지정 TVIF_TEXT
하는 경우 멤버 또는 lpszItem
null로 끝나는 문자열 cchTextMax
의 주소이며 멤버는 무시됩니다. 값을 지정하는 경우 mask
멤버 또는 nStateMask
매개 변수는 변경할 항목 상태를 지정하고 state
멤버 또는 nState
매개 변수에 해당 상태에 대한 값을 nMask
포함합니다.TVIF_STATE
stateMask
예시
// 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
과 연결된 포인터 크기의 애플리케이션별 값입니다.
Return Value
성공하면 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] 지정된 항목이 확장된 상태일 때 표시할 이미지의 인덱스입니다.
Return Value
TRUE
이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE
설명
이 메서드는 TVM_SETITEM
Windows SDK에 설명된 메시지를 보냅니다. 이 메서드는 구조체 iExpandedImage
의 멤버에 매개 변수를 TVITEMEX
iExpandedImage
할당한 다음 메시지에서 해당 구조를 사용합니다.
예시
첫 번째 코드 예제는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 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::SetItemExpandedImageIndex
값을 반환하는지 여부를 CTreeCtrl::GetItemExpandedImageIndex
확인하는 간단한 테스트입니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국 대한 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주의 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다.
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이면 컨트롤은 기본 항목 높이를 사용하는 것으로 되돌아갑니다.
Return Value
항목의 이전 높이(픽셀)입니다.
예시
CTreeCtrl::GetItemHeight
에 대한 예를 참조하세요.
CTreeCtrl::SetItemImage
이미지를 항목과 연결합니다.
BOOL SetItemImage(
HTREEITEM hItem,
int nImage,
int nSelectedImage);
매개 변수
hItem
이미지를 설정할 항목의 핸들입니다.
nImage
트리 뷰 컨트롤의 이미지 목록에 있는 항목 이미지의 인덱스입니다.
nSelectedImage
트리 뷰 컨트롤의 이미지 목록에서 항목이 선택한 이미지의 인덱스입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
트리 뷰 컨트롤의 각 항목에는 연결된 비트맵 이미지 쌍이 있을 수 있습니다. 이미지는 항목 레이블의 왼쪽에 표시됩니다. 한 이미지는 항목을 선택할 때 표시되고 다른 이미지는 항목을 선택하지 않으면 표시됩니다. 예를 들어 항목이 선택되면 열린 폴더를 표시하고 선택하지 않으면 닫힌 폴더를 표시할 수 있습니다.
이 함수를 호출하여 트리 뷰 컨트롤의 이미지 목록 내에서 항목 이미지의 인덱스와 선택한 이미지의 인덱스 설정을 지정합니다.
이미지에 대한 자세한 내용은 다음을 참조하세요 CImageList
.
예시
CTreeCtrl::GetItemImage
에 대한 예를 참조하세요.
CTreeCtrl::SetItemState
로 지정된 hItem
항목의 상태를 설정합니다.
BOOL SetItemState(
HTREEITEM hItem,
UINT nState,
UINT nStateMask);
매개 변수
hItem
상태를 설정할 항목의 핸들입니다.
nState
항목의 새 상태를 지정합니다.
nStateMask
변경할 상태를 지정합니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
상태에 대한 자세한 내용은 다음을 참조하세요 CTreeCtrl::GetItem
.
예시
CTreeCtrl::GetItemState
에 대한 예를 참조하세요.
CTreeCtrl::SetItemStateEx
현재 트리 뷰 컨트롤에서 지정된 항목의 확장 상태를 설정합니다.
BOOL SetItemStateEx(
HTREEITEM hItem,
UINT uStateEx);
매개 변수
hItem
[in] 트리 뷰 컨트롤 항목에 대한 핸들입니다.
uStateEx
[in] 항목의 확장 상태입니다. 자세한 내용은 구조체 uStateEx
의 멤버를 참조하세요 TVITEMEX
.
Return Value
TRUE
이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE
설명
이 메서드는 TVM_SETITEM
Windows SDK에 설명된 메시지를 보냅니다. 이 메서드는 구조체 uStateEx
의 멤버에 매개 변수를 TVITEMEX
uStateEx
할당한 다음 메시지에서 해당 구조를 사용합니다.
예시
첫 번째 코드 예제는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 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
항목에 대한 새 텍스트가 포함된 문자열의 주소
Return Value
성공하면 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
새 선 색입니다.
Return Value
이전 선 색입니다.
설명
이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_SETLINECOLOR
의 동작을 구현합니다.
예시
COLORREF clrPrev = m_TreeCtrl.SetLineColor(RGB(255, 0, 0));
CTreeCtrl::SetScrollTime
트리 뷰 컨트롤의 최대 스크롤 시간을 설정하려면 이 멤버 함수를 호출합니다.
UINT SetScrollTime(UINT uScrollTime);
매개 변수
uScrollTime
새 최대 스크롤 시간(밀리초)입니다. 이 값이 100보다 작으면 100까지 반올림됩니다.
Return Value
이전 최대 스크롤 시간(밀리초)입니다.
설명
이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_SETSCROLLTIME
의 동작을 구현합니다.
CTreeCtrl::SetTextColor
이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 TVM_SETTEXTCOLOR
의 동작을 구현합니다.
COLORREF SetTextColor(COLORREF clr);
매개 변수
clr
COLORREF
새 텍스트 색을 포함하는 값입니다. 이 인수가 -1이면 컨트롤이 텍스트 색에 시스템 색을 사용하도록 되돌아갑니다.
Return Value
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
사용할 개체에 대한 포인터입니다.
Return Value
이전에 컨트롤 NULL
에서 CToolTipCtrl
사용한 도구 설명이 들어 있거나 이전에 사용된 도구 설명이 없는 개체에 대한 포인터입니다.
설명
도구 설명을 사용하려면 개체를 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
자식 항목을 정렬할 부모 항목의 핸들입니다. 이 NULL
경우 hItem
트리의 루트에서 정렬이 진행됩니다.
Return Value
성공하면 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
구조체에 관한 포인터입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
구조체의 비교 함수 lpfnCompare
는 첫 번째 항목이 두 번째 항목 앞에 오면 음수 값을 반환하고, 첫 번째 항목이 두 번째 항목을 따라야 하는 경우 양수 값을 반환하거나, 두 항목이 동일한 경우 0을 반환해야 합니다.
및 lParam2
매개 변수는 lParam1
비교할 두 항목에 TVITEM
대한 구조체의 멤버에 해당 lParam
합니다. 매개 변수는 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);