CTreeCtrl
Klasa
Udostępnia funkcje kontrolki wspólnego widoku drzewa systemu Windows.
Składnia
class CTreeCtrl : public CWnd
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CTreeCtrl::CTreeCtrl |
CTreeCtrl Tworzy obiekt. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CTreeCtrl::Create |
Tworzy kontrolkę widoku drzewa i dołącza ją do CTreeCtrl obiektu. |
CTreeCtrl::CreateDragImage |
Tworzy przeciągającą mapę bitową dla określonego elementu widoku drzewa. |
CTreeCtrl::CreateEx |
Tworzy kontrolkę drzewa z określonymi stylami rozszerzonymi systemu Windows i dołącza ją do CTreeCtrl obiektu. |
CTreeCtrl::DeleteAllItems |
Usuwa wszystkie elementy w kontrolce widoku drzewa. |
CTreeCtrl::DeleteItem |
Usuwa nowy element w kontrolce widoku drzewa. |
CTreeCtrl::EditLabel |
Edytuje określony element widoku drzewa w miejscu. |
CTreeCtrl::EndEditLabelNow |
Anuluje operację edycji na etykiecie elementu widoku drzewa w bieżącej kontrolce widoku drzewa. |
CTreeCtrl::EnsureVisible |
Gwarantuje, że element widoku drzewa jest widoczny w kontrolce widoku drzewa. |
CTreeCtrl::Expand |
Rozwija lub zwija elementy podrzędne określonego elementu widoku drzewa. |
CTreeCtrl::GetBkColor |
Pobiera bieżący kolor tła kontrolki. |
CTreeCtrl::GetCheck |
Pobiera stan sprawdzania elementu kontrolki drzewa. |
CTreeCtrl::GetChildItem |
Pobiera element podrzędny określonego elementu widoku drzewa. |
CTreeCtrl::GetCount |
Pobiera liczbę elementów drzewa skojarzonych z kontrolką widoku drzewa. |
CTreeCtrl::GetDropHilightItem |
Pobiera element docelowy operacji przeciągania i upuszczania. |
CTreeCtrl::GetEditControl |
Pobiera uchwyt kontrolki edycji używanej do edytowania określonego elementu widoku drzewa. |
CTreeCtrl::GetExtendedStyle |
Pobiera style rozszerzone używane przez bieżącą kontrolkę widoku drzewa. |
CTreeCtrl::GetFirstVisibleItem |
Pobiera pierwszy widoczny element określonego elementu widoku drzewa. |
CTreeCtrl::GetImageList |
Pobiera uchwyt listy obrazów skojarzony z kontrolką widoku drzewa. |
CTreeCtrl::GetIndent |
Pobiera przesunięcie (w pikselach) elementu widoku drzewa z elementu nadrzędnego. |
CTreeCtrl::GetInsertMarkColor |
Pobiera kolor używany do rysowania znacznika wstawiania dla widoku drzewa. |
CTreeCtrl::GetItem |
Pobiera atrybuty określonego elementu widoku drzewa. |
CTreeCtrl::GetItemData |
Zwraca wartość specyficzną dla aplikacji skojarzona z elementem. |
CTreeCtrl::GetItemExpandedImageIndex |
Pobiera indeks obrazu do wyświetlenia, gdy określony element bieżącej kontrolki widoku drzewa jest w stanie rozwiniętym. |
CTreeCtrl::GetItemHeight |
Pobiera bieżącą wysokość elementów widoku drzewa. |
CTreeCtrl::GetItemImage |
Pobiera obrazy skojarzone z elementem. |
CTreeCtrl::GetItemPartRect |
Pobiera prostokąt ograniczenia dla określonej części określonego elementu w bieżącej kontrolce widoku drzewa. |
CTreeCtrl::GetItemRect |
Pobiera prostokąt ograniczenia elementu widoku drzewa. |
CTreeCtrl::GetItemState |
Zwraca stan elementu. |
CTreeCtrl::GetItemStateEx |
Pobiera rozszerzony stan określonego elementu w bieżącej kontrolce widoku drzewa. |
CTreeCtrl::GetItemText |
Zwraca tekst elementu. |
CTreeCtrl::GetLastVisibleItem |
Pobiera ostatni rozwinięty element w bieżącej kontrolce widoku drzewa. |
CTreeCtrl::GetLineColor |
Pobiera bieżący kolor linii dla kontrolki widoku drzewa. |
CTreeCtrl::GetNextItem |
Pobiera następny element widoku drzewa zgodny z określoną relacją. |
CTreeCtrl::GetNextSiblingItem |
Pobiera następny element równorzędny określonego elementu widoku drzewa. |
CTreeCtrl::GetNextVisibleItem |
Pobiera następny widoczny element określonego elementu widoku drzewa. |
CTreeCtrl::GetParentItem |
Pobiera element nadrzędny określonego elementu widoku drzewa. |
CTreeCtrl::GetPrevSiblingItem |
Pobiera poprzedni element równorzędny określonego elementu widoku drzewa. |
CTreeCtrl::GetPrevVisibleItem |
Pobiera poprzedni widoczny element określonego elementu widoku drzewa. |
CTreeCtrl::GetRootItem |
Pobiera katalog główny określonego elementu widoku drzewa. |
CTreeCtrl::GetScrollTime |
Pobiera maksymalny czas przewijania kontrolki widoku drzewa. |
CTreeCtrl::GetSelectedCount |
Pobiera liczbę wybranych elementów w bieżącej kontrolce widoku drzewa. |
CTreeCtrl::GetSelectedItem |
Pobiera aktualnie wybrany element widoku drzewa. |
CTreeCtrl::GetTextColor |
Pobiera bieżący kolor tekstu kontrolki. |
CTreeCtrl::GetToolTips |
Pobiera uchwyt do kontrolki podrzędnej ToolTip używanej przez kontrolkę widoku drzewa. |
CTreeCtrl::GetVisibleCount |
Pobiera liczbę widocznych elementów drzewa skojarzonych z kontrolką widoku drzewa. |
CTreeCtrl::HitTest |
Zwraca bieżącą pozycję kursora powiązanego z obiektem CTreeCtrl . |
CTreeCtrl::InsertItem |
Wstawia nowy element w kontrolce widoku drzewa. |
CTreeCtrl::ItemHasChildren |
Zwraca wartość nonzero, jeśli określony element ma elementy podrzędne. |
CTreeCtrl::MapAccIdToItem |
Mapuje określony identyfikator ułatwień dostępu do uchwytu do elementu widoku drzewa w bieżącej kontrolce widoku drzewa. |
CTreeCtrl::MapItemToAccID |
Mapuje określony uchwyt do elementu widoku drzewa w bieżącej kontrolce widoku drzewa do identyfikatora ułatwień dostępu. |
CTreeCtrl::Select |
Wybiera, przewija do widoku lub ponownie rysuje określony element widoku drzewa. |
CTreeCtrl::SelectDropTarget |
Ponownie rysuje element drzewa jako element docelowy operacji przeciągania i upuszczania. |
CTreeCtrl::SelectItem |
Wybiera określony element widoku drzewa. |
CTreeCtrl::SelectSetFirstVisible |
Wybiera określony element widoku drzewa jako pierwszy widoczny element. |
CTreeCtrl::SetAutoscrollInfo |
Ustawia częstotliwość automatycznego wyrejestrowywania bieżącej kontrolki widoku drzewa. |
CTreeCtrl::SetBkColor |
Ustawia kolor tła kontrolki. |
CTreeCtrl::SetCheck |
Ustawia stan sprawdzania elementu kontrolki drzewa. |
CTreeCtrl::SetExtendedStyle |
Ustawia style rozszerzone dla bieżącej kontrolki widoku drzewa. |
CTreeCtrl::SetImageList |
Ustawia uchwyt listy obrazów skojarzony z kontrolką widoku drzewa. |
CTreeCtrl::SetIndent |
Ustawia przesunięcie (w pikselach) elementu widoku drzewa z jego elementu nadrzędnego. |
CTreeCtrl::SetInsertMark |
Ustawia znacznik wstawiania w kontrolce widoku drzewa. |
CTreeCtrl::SetInsertMarkColor |
Ustawia kolor używany do rysowania znacznika wstawiania dla widoku drzewa. |
CTreeCtrl::SetItem |
Ustawia atrybuty określonego elementu widoku drzewa. |
CTreeCtrl::SetItemData |
Ustawia wartość specyficzną dla aplikacji skojarzona z elementem. |
CTreeCtrl::SetItemExpandedImageIndex |
Ustawia indeks obrazu do wyświetlenia, gdy określony element bieżącej kontrolki widoku drzewa jest w stanie rozwiniętym. |
CTreeCtrl::SetItemHeight |
Ustawia wysokość elementów widoku drzewa. |
CTreeCtrl::SetItemImage |
Kojarzy obrazy z elementem. |
CTreeCtrl::SetItemState |
Ustawia stan elementu. |
CTreeCtrl::SetItemStateEx |
Ustawia rozszerzony stan określonego elementu w bieżącej kontrolce widoku drzewa. |
CTreeCtrl::SetItemText |
Ustawia tekst elementu. |
CTreeCtrl::SetLineColor |
Ustawia bieżący kolor linii dla kontrolki widoku drzewa. |
CTreeCtrl::SetScrollTime |
Ustawia maksymalny czas przewijania kontrolki widoku drzewa. |
CTreeCtrl::SetTextColor |
Ustawia kolor tekstu kontrolki. |
CTreeCtrl::SetToolTips |
Ustawia kontrolkę podrzędną ToolTip kontrolki widoku drzewa. |
CTreeCtrl::ShowInfoTip |
Wyświetla etykietkę informacji dla określonego elementu w bieżącej kontrolce widoku drzewa. |
CTreeCtrl::SortChildren |
Sortuje elementy podrzędne danego elementu nadrzędnego. |
CTreeCtrl::SortChildrenCB |
Sortuje elementy podrzędne danego elementu nadrzędnego przy użyciu funkcji sortowania zdefiniowanej przez aplikację. |
Uwagi
"Kontrolka widoku drzewa" to okno, które wyświetla hierarchiczną listę elementów, takich jak nagłówki w dokumencie, wpisy w indeksie lub pliki i katalogi na dysku. Każdy element składa się z etykiety i opcjonalnego obrazu z mapą bitową, a każdy element może mieć skojarzona z nim listę subitemów. Klikając element, użytkownik może rozwinąć i zwinąć skojarzona lista podzadań.
Ta kontrolka CTreeCtrl
(i dlatego klasa) jest dostępna tylko dla programów działających w systemach Windows 98 i Windows NT w wersji 4 lub nowszej.
Aby uzyskać więcej informacji na temat korzystania z programu CTreeCtrl
, zobacz:
Dokumentacja kontrolki widoku drzewa w zestawie Windows SDK.
Hierarchia dziedziczenia
CTreeCtrl
Wymagania
Nagłówek: afxcmn.h
CTreeCtrl::Create
Jeśli określisz kontrolkę drzewa w szablonie okna dialogowego lub jeśli używasz CTreeView
, kontrolka drzewa zostanie utworzona automatycznie po utworzeniu okna dialogowego lub widoku.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametry
dwStyle
Określa styl kontrolki widoku drzewa. Zastosuj style okien opisane w CreateWindow
temacie i dowolną kombinację stylów kontrolek widoku drzewa zgodnie z opisem w zestawie Windows SDK.
rect
Określa rozmiar i położenie kontrolki widoku drzewa. Może to być CRect
obiekt lub RECT
struktura.
pParentWnd
Określa nadrzędne okno kontrolki widoku drzewa, zwykle CDialog
. Nie może to być NULL
.
nID
Określa identyfikator kontrolki widoku drzewa.
Wartość zwracana
Niezerowe, jeśli inicjowanie zakończyło się pomyślnie; w przeciwnym razie 0.
Uwagi
Jeśli chcesz utworzyć kontrolkę drzewa jako okno podrzędne innego okna, użyj funkcji składowej Create
. Jeśli tworzysz kontrolkę drzewa przy użyciu metody Create
, musisz przekazać ją WS_VISIBLE
oprócz innych stylów widoku drzewa.
Utworzysz element CTreeCtrl
w dwóch krokach. Najpierw wywołaj konstruktor, a następnie wywołaj metodę Create
, która tworzy kontrolkę widoku drzewa i dołącza ją do CTreeCtrl
obiektu.
Aby utworzyć kontrolkę drzewa z rozszerzonymi stylami okien, wywołaj metodę CreateEx
zamiast Create
.
Przykład
// 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
Wywołaj tę funkcję, aby utworzyć kontrolkę (okno podrzędne) i skojarz ją z obiektem CTreeCtrl
.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametry
dwExStyle
Określa rozszerzony styl tworzonej kontrolki. Aby uzyskać listę rozszerzonych stylów systemu Windows, zobacz dwExStyle
parametr dla CreateWindowEx
w zestawie Windows SDK.
dwStyle
Określa styl kontrolki widoku drzewa. Zastosuj style okien opisane w CreateWindow
temacie i dowolną kombinację stylów kontrolek widoku drzewa zgodnie z opisem w zestawie Windows SDK.
rect
Odwołanie do RECT
struktury opisującej rozmiar i położenie okna do utworzenia w współrzędnych pParentWnd
klienta .
pParentWnd
Wskaźnik do okna, który jest elementem nadrzędnym kontrolki.
nID
Identyfikator okna podrzędnego kontrolki.
Wartość zwracana
Wartość niezerowa, jeśli operacja zakończyła się powodzeniem, w przeciwnym razie 0.
Uwagi
Create
Zamiast CreateEx
stosować rozszerzone style systemu Windows określone w rozszerzonym prefiksie WS_EX_
stylu systemu Windows.
CTreeCtrl::CreateDragImage
Wywołaj tę funkcję, aby utworzyć przeciągającą mapę bitową dla danego elementu w kontrolce widoku drzewa, utworzyć listę obrazów dla mapy bitowej i dodać mapę bitową do listy obrazów.
CImageList* CreateDragImage(HTREEITEM hItem);
Parametry
hItem
Uchwyt elementu drzewa do przeciągnięcia.
Wartość zwracana
Wskaźnik do listy obrazów, do której została dodana przeciągająca mapa bitowa, jeśli się powiedzie; w przeciwnym razie NULL
.
Uwagi
Aplikacja używa funkcji listy obrazów do wyświetlania obrazu podczas przeciągania elementu.
Obiekt CImageList
jest trwały i należy go usunąć po zakończeniu. Na przykład:
HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();
CImageList *pImageList = m_TreeCtrl.CreateDragImage(hItem);
// Do something with the image list.
delete pImageList;
CTreeCtrl::CTreeCtrl
CTreeCtrl
Tworzy obiekt.
CTreeCtrl();
CTreeCtrl::DeleteAllItems
Wywołaj tę funkcję, aby usunąć wszystkie elementy z kontrolki widoku drzewa.
BOOL DeleteAllItems();
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Przykład
// The underlying Windows API always returns TRUE
VERIFY(m_TreeCtrl.DeleteAllItems());
CTreeCtrl::DeleteItem
Wywołaj tę funkcję, aby usunąć element z kontrolki widoku drzewa.
BOOL DeleteItem(HTREEITEM hItem);
Parametry
hItem
Uchwyt elementu drzewa do usunięcia. Jeśli hitem
ma TVI_ROOT
wartość, wszystkie elementy zostaną usunięte z kontrolki widoku drzewa.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Przykład
// 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
Wywołaj tę funkcję, aby rozpocząć edycję w miejscu tekstu określonego elementu.
CEdit* EditLabel(HTREEITEM hItem);
Parametry
hItem
Uchwyt elementu drzewa do edycji.
Wartość zwracana
Jeśli operacja powiedzie się, wskaźnik do CEdit
obiektu, który jest używany do edycji tekstu elementu; w przeciwnym razie NULL
.
Uwagi
Edytowanie jest realizowane przez zastąpienie tekstu elementu kontrolką edycji z jednym wierszem zawierającym tekst.
Przykład
// 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
Kończy operację edycji na etykiecie elementu widoku drzewa w bieżącej kontrolce widoku drzewa.
BOOL EndEditLabelNow(BOOL fCancelWithoutSave);
Parametry
fCancelWithoutSave
[in] TRUE
aby odrzucić zmiany elementu widoku drzewa przed zakończeniem operacji edycji lub FALSE
zapisać zmiany w elemencie widoku drzewa przed zakończeniem operacji.
Wartość zwracana
TRUE
jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE
.
Uwagi
Ta metoda wysyła TVM_ENDEDITLABELNOW
komunikat opisany w zestawie SDK systemu Windows.
CTreeCtrl::EnsureVisible
Wywołaj tę funkcję, aby upewnić się, że element widoku drzewa jest widoczny.
BOOL EnsureVisible(HTREEITEM hItem);
Parametry
hItem
Uchwyt elementu drzewa, który jest widoczny.
Wartość zwracana
Zwraca wartość TRUE
, jeśli system przewinął elementy w kontrolce widoku drzewa, aby upewnić się, że określony element jest widoczny. W przeciwnym razie zwracana wartość to FALSE
.
Uwagi
W razie potrzeby funkcja rozszerza element nadrzędny lub przewija kontrolkę widoku drzewa, aby element był widoczny.
Przykład
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
Wywołaj tę funkcję, aby rozwinąć lub zwinąć listę elementów podrzędnych skojarzonych z danym elementem nadrzędnym.
BOOL Expand(
HTREEITEM hItem,
UINT nCode);
Parametry
hItem
Uchwyt rozwiniętego elementu drzewa.
nCode
Flaga wskazująca typ akcji do wykonania. Ta flaga może mieć jedną z następujących wartości:
TVE_COLLAPSE
Zwija listę.TVE_COLLAPSERESET
Zwija listę i usuwa elementy podrzędne. FlagaTVIS_EXPANDEDONCE
stanu jest resetowany. Ta flaga musi być używana z flagąTVE_COLLAPSE
.TVE_EXPAND
Rozwija listę.TVE_TOGGLE
Zwija listę, jeśli jest ona obecnie rozwinięta lub rozwija ją, jeśli jest ona obecnie zwinięta.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Przykład
Zobacz przykład dla elementu CTreeCtrl::EnsureVisible
.
CTreeCtrl::GetBkColor
Ta funkcja składowa implementuje zachowanie komunikatu TVM_GETBKCOLOR
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
COLORREF GetBkColor() const;
Wartość zwracana
COLORREF
Wartość reprezentująca bieżący kolor tła okna dla kontrolki. Jeśli ta wartość to -1, kontrolka używa koloru okna systemowego. W takim przypadku możesz użyć ::GetSysColor(COLOR_WINDOW)
polecenia , aby uzyskać bieżący kolor systemu używany przez kontrolkę.
Przykład
Zobacz przykład dla elementu CTreeCtrl::SetTextColor
.
CTreeCtrl::GetCheck
Wywołaj tę funkcję składową, aby pobrać stan sprawdzania elementu.
BOOL GetCheck(HTREEITEM hItem) const;
Parametry
hItem
Informacje HTREEITEM
o tym, które mają otrzymywać informacje o stanie.
Wartość zwracana
Niezero, jeśli element kontrolki drzewa jest zaznaczony; w przeciwnym razie 0.
Przykład
Zobacz przykład dla elementu CTreeCtrl::SetCheck
.
CTreeCtrl::GetChildItem
Wywołaj tę funkcję, aby pobrać element widoku drzewa, który jest elementem podrzędnym elementu określonego przez hItem
element .
HTREEITEM GetChildItem(HTREEITEM hItem) const;
Parametry
hItem
Uchwyt elementu drzewa.
Wartość zwracana
Dojście elementu podrzędnego w przypadku pomyślnego wykonania; w przeciwnym razie NULL
.
Przykład
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
Wywołaj tę funkcję, aby pobrać liczbę elementów w kontrolce widoku drzewa.
UINT GetCount() const;
Wartość zwracana
Liczba elementów w kontrolce widoku drzewa.
Przykład
// Delete all of the items from the tree control.
m_TreeCtrl.DeleteAllItems();
ASSERT(m_TreeCtrl.GetCount() == 0);
CTreeCtrl::GetDropHilightItem
Wywołaj tę funkcję, aby pobrać element docelowy operacji przeciągania i upuszczania.
HTREEITEM GetDropHilightItem() const;
Wartość zwracana
Uchwyt elementu porzucony w przypadku pomyślnego wykonania; w przeciwnym razie NULL
.
Przykład
// 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
Wywołaj tę funkcję, aby pobrać uchwyt kontrolki edycji używanej do edytowania tekstu elementu widoku drzewa.
CEdit* GetEditControl() const;
Wartość zwracana
Wskaźnik kontrolki edycji używany do edytowania tekstu elementu, jeśli się powiedzie; w przeciwnym razie NULL
.
Przykład
// 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
Pobiera style rozszerzone używane przez bieżącą kontrolkę widoku drzewa.
DWORD GetExtendedStyle() const;
Wartość zwracana
Wartość zawierająca kombinację bitową (OR) bieżącego stylu rozszerzonego kontrolki widoku drzewa. Aby uzyskać więcej informacji, zobacz Style rozszerzone kontrolki widoku drzewa.
Uwagi
Ta metoda wysyła TVM_GETEXTENDEDSTYLE
komunikat opisany w zestawie SDK systemu Windows.
CTreeCtrl::GetFirstVisibleItem
Wywołaj tę funkcję, aby pobrać pierwszy widoczny element kontrolki widoku drzewa.
HTREEITEM GetFirstVisibleItem() const;
Wartość zwracana
Uchwyt pierwszego widocznego elementu; w przeciwnym razie NULL
.
Przykład
Zobacz przykład dla elementu CTreeCtrl::SetCheck
.
CTreeCtrl::GetImageList
Wywołaj tę funkcję, aby pobrać uchwyt listy obrazów normalnych lub stanowych skojarzonych z kontrolką widoku drzewa.
CImageList* GetImageList(UINT nImageList) const;
Parametry
nImageList
Typ listy obrazów do pobrania. Lista obrazów może być jedną z następujących wartości:
TVSIL_NORMAL
Pobiera normalną listę obrazów zawierającą zaznaczone i nieznaczone obrazy dla elementu widoku drzewa.TVSIL_STATE
Pobiera listę obrazów stanu, która zawiera obrazy elementów widoku drzewa, które są w stanie zdefiniowanym przez użytkownika.
Wartość zwracana
Wskaźnik do listy obrazów kontrolki, jeśli się powiedzie; w przeciwnym razie NULL
.
Uwagi
Każdy element w kontrolce widoku drzewa może mieć skojarzona parę obrazów map bitowych. Jeden obraz jest wyświetlany po wybraniu elementu, a drugi jest wyświetlany, gdy element nie jest zaznaczony. Na przykład element może wyświetlać otwarty folder po wybraniu i zamknięty folder, gdy nie jest zaznaczony.
Aby uzyskać więcej informacji na temat list obrazów, zobacz klasę CImageList
.
Przykład
ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == NULL);
m_TreeCtrl.SetImageList(&m_TreeImages, TVSIL_NORMAL);
ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == &m_TreeImages);
CTreeCtrl::GetIndent
Wywołaj tę funkcję, aby pobrać ilość w pikselach, że elementy podrzędne są wcięcia względem ich elementów nadrzędnych.
UINT GetIndent() const;
Wartość zwracana
Wielkość wcięcia mierzona w pikselach.
Przykład
// Double the indent.
UINT uIndent = m_TreeCtrl.GetIndent();
m_TreeCtrl.SetIndent(2 * uIndent);
CTreeCtrl::GetInsertMarkColor
Ta funkcja składowa implementuje zachowanie komunikatu TVM_GETINSERTMARKCOLOR
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
COLORREF GetInsertMarkColor() const;
Wartość zwracana
COLORREF
Wartość zawierająca bieżący kolor znacznika wstawiania.
Przykład
// 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
Wywołaj tę funkcję, aby pobrać atrybuty określonego elementu widoku drzewa.
BOOL GetItem(TVITEM* pItem) const;
Parametry
pItem
Wskaźnik do struktury, zgodnie z opisem TVITEM
w zestawie Windows SDK.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Przykład
Zobacz przykład dla elementu CTreeCtrl::DeleteItem
.
CTreeCtrl::GetItemData
Wywołaj tę funkcję, aby pobrać wartość specyficzną dla aplikacji skojarzona z określonym elementem.
DWORD_PTR GetItemData(HTREEITEM hItem) const;
Parametry
hItem
Uchwyt elementu, którego dane mają zostać pobrane.
Wartość zwracana
Wartość specyficzna dla aplikacji o rozmiarze wskaźnika skojarzona z elementem określonym przez hItem
.
Przykład
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
Pobiera indeks obrazu do wyświetlenia, gdy określony element bieżącej kontrolki widoku drzewa jest w stanie rozwiniętym.
int GetItemExpandedImageIndex(HTREEITEM hItem)const;
Parametry
hItem
[in] Dojście do elementu kontrolki widoku drzewa.
Wartość zwracana
Indeks obrazu do wyświetlenia, gdy określony element jest w stanie rozwiniętym.
Uwagi
Ta metoda wysyła TVM_GETITEM
komunikat opisany w zestawie SDK systemu Windows. Ten komunikat zwraca TVITEMEX
strukturę, która opisuje element kontrolki widoku drzewa, a następnie ta metoda pobiera iExpandedImage
element członkowski z tej struktury.
CTreeCtrl::GetItemHeight
Ta funkcja składowa implementuje zachowanie komunikatu TVM_GETITEMHEIGHT
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
SHORT GetItemHeight() const;
Wartość zwracana
Wysokość elementu w pikselach.
Przykład
// Double the height of the items.
SHORT sHeight = m_TreeCtrl.GetItemHeight();
m_TreeCtrl.SetItemHeight(2 * sHeight);
CTreeCtrl::GetItemImage
Każdy element w kontrolce widoku drzewa może mieć skojarzona parę obrazów map bitowych.
BOOL GetItemImage(
HTREEITEM hItem,
int& nImage,
int& nSelectedImage) const;
Parametry
hItem
Uchwyt elementu, którego obraz ma zostać pobrany.
nImage
Liczba całkowita, która odbiera indeks obrazu elementu na liście obrazów kontrolki widoku drzewa.
nSelectedImage
Liczba całkowita, która odbiera indeks wybranego obrazu elementu na liście obrazów kontrolki widoku drzewa.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Obrazy są wyświetlane po lewej stronie etykiety elementu. Jeden obraz jest wyświetlany po wybraniu elementu, a drugi jest wyświetlany, gdy element nie jest zaznaczony. Na przykład element może wyświetlać otwarty folder po wybraniu i zamknięty folder, gdy nie jest zaznaczony.
Wywołaj tę funkcję, aby pobrać indeks obrazu elementu i jego wybrany obraz na liście obrazów kontrolki widoku drzewa.
Przykład
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
Pobiera prostokąt ograniczenia dla określonej części określonego elementu w bieżącej kontrolce widoku drzewa.
BOOL GetItemPartRect(
HTREEITEM hItem,
int nPart,
LPRECT lpRect)const;
Parametry
hItem
[in] Dojście do elementu kontrolki widoku drzewa.
nPart
[in] Identyfikator części. Musi być ustawiona wartość TVGIPR_BUTTON
.
lpRect
[out] Wskaźnik do RECT
struktury. Jeśli ta metoda powiedzie się, struktura odbiera współrzędne prostokąta części określonej przez hItem
i nPart
.
Wartość zwracana
TRUE
jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE
.
Uwagi
Każdy element kontrolki drzewa jest powiązany z prostokątem grafiki. Za każdym razem, gdy punkt w tym prostokątze jest klikany, mówi się, że element zostanie trafiony. Ta metoda zwraca największy prostokąt, tak aby po kliknięciu punktu w prostokątze element zidentyfikowany przez hItem
parametr został trafiony.
Ta metoda wysyła TVM_GETITEMPARTRECT
komunikat opisany w zestawie SDK systemu Windows. Aby uzyskać więcej informacji, zobacz TreeView_GetItemPartRect
makro.
Przykład
Pierwszy przykład kodu definiuje zmienną , m_treeCtrl
która jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku drzewa. Przykładowy kod definiuje również niepodpisaną liczbę całkowitą i kilka HTREEITEM
zmiennych. Te zmienne są używane w następnym przykładzie.
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;
W następnym przykładzie kodu użyto identyfikatora ułatwień dostępu i CTreeCtrl::MapAccIdToItem
metody w celu pobrania uchwytu do elementu widoku drzewa głównego. Następnie w przykładzie użyto uchwytu i CTreeCtrl::GetItemPartRect
metody w celu narysowania prostokąta 3D wokół tego elementu. We wcześniejszej sekcji przykładu kodu, który nie jest wyświetlany, utworzyliśmy widok drzewa składający się z głównego węzła kraju/regionu dla Stany Zjednoczone, węzłów podrzędnych dla stanów Pensylwanii i Waszyngtonu oraz elementów drzewa dla miast w tych stanach. Użyliśmy metody do skojarzenia CTreeCtrl::MapItemToAccID
elementu widoku drzewa głównego z identyfikatorem ułatwień dostępu.
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
Wywołaj tę funkcję, aby pobrać prostokąt ograniczenia dla elementu hItem i określić, czy jest on widoczny, czy nie.
BOOL GetItemRect(
HTREEITEM hItem,
LPRECT lpRect,
BOOL bTextOnly) const;
Parametry
hItem
Uchwyt elementu kontrolki widoku drzewa.
lpRect
Wskaźnik do RECT
struktury, która odbiera prostokąt ograniczenia. Współrzędne są względne względem lewego górnego rogu kontrolki widoku drzewa.
bTextOnly
Jeśli ten parametr nie jestzerowy, prostokąt ograniczenia zawiera tylko tekst elementu. W przeciwnym razie zawiera cały wiersz zajmowany przez element w kontrolce widoku drzewa.
Wartość zwracana
Niezero, jeśli element jest widoczny, z prostokątem ograniczenia zawartym w elemencie lpRect
. W przeciwnym razie wartość 0 jest lpRect
niezainicjowana.
Przykład
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
Zwraca stan elementu określonego przez hItem
.
UINT GetItemState(
HTREEITEM hItem,
UINT nStateMask) const;
Parametry
hItem
Uchwyt elementu, którego stan ma zostać pobrany.
nStateMask
Maska wskazująca co najmniej jeden stan do pobrania. Aby uzyskać więcej informacji na temat możliwych wartości dla nStateMask
programu , zobacz omówienie state
struktury i stateMask
elementów członkowskich struktury TVITEM
w zestawie Windows SDK.
Wartość zwracana
Element UINT
, który przechowuje operator bitowy OR języka C++ (|
) wartości określonych przez nStateMask
. Aby uzyskać informacje na temat możliwych wartości, zobacz CTreeCtrl::GetItem
. Aby znaleźć wartość dla określonego stanu, wykonaj operator bitowy AND języka C++ () f&
wartość stanu i wartość zwracaną, jak pokazano w poniższym przykładzie.
Przykład
// 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
Pobiera rozszerzony stan określonego elementu w bieżącej kontrolce widoku drzewa.
UINT GetItemStateEx(HTREEITEM hItem) const;
Parametry
hItem
[in] Dojście do elementu kontrolki widoku drzewa.
Wartość zwracana
Rozszerzony stan elementu. Aby uzyskać więcej informacji, zobacz uStateEx
element członkowski TVITEMEX
struktury.
Uwagi
Ta metoda wysyła TVM_GETITEM
komunikat opisany w zestawie SDK systemu Windows. Ten komunikat zwraca TVITEMEX
strukturę, która opisuje element kontrolki widoku drzewa, a ta metoda pobiera uStateEx
element członkowski z tej struktury.
CTreeCtrl::GetItemText
Zwraca tekst elementu określonego przez hItem
element .
CString GetItemText(HTREEITEM hItem) const;
Parametry
hItem
Uchwyt elementu, którego tekst ma zostać pobrany.
Wartość zwracana
CString
Obiekt zawierający tekst elementu.
Przykład
Zobacz przykład dla elementu CTreeCtrl::GetNextItem
.
CTreeCtrl::GetLastVisibleItem
Pobiera ostatni nierozpoznany element węzła w bieżącej kontrolce widoku drzewa.
HTREEITEM GetLastVisibleItem() const;
Wartość zwracana
Dojście do ostatniego nieopanowanego elementu węzła, jeśli metoda zakończy się pomyślnie; w przeciwnym razie, NULL
.
Uwagi
Ta metoda wysyła TVM_GETNEXTITEM
komunikat opisany w zestawie SDK systemu Windows. Aby uzyskać więcej informacji, zobacz flagę TVGN_LASTVISIBLE
w parametrze flag
tego komunikatu.
Przykład
Pierwszy przykład kodu definiuje zmienną , m_treeCtrl
która jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku drzewa. Przykładowy kod definiuje również niepodpisaną liczbę całkowitą i kilka HTREEITEM
zmiennych. Co najmniej jedna z tych zmiennych jest używana w następnym przykładzie.
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;
Następny przykład kodu pobiera uchwyt do ostatniego nierozpoznanego elementu węzła widoku drzewa, a następnie rysuje prostokąt 3D wokół tego elementu. We wcześniejszej sekcji przykładu kodu, który nie jest wyświetlany, utworzyliśmy widok drzewa składający się z głównego węzła kraju/regionu dla Stany Zjednoczone, węzłów podrzędnych dla stanów Pensylwanii i Waszyngtonu oraz elementów drzewa dla miast w tych stanach.
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
Ta funkcja składowa implementuje zachowanie komunikatu TVM_GETLINECOLOR
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
COLORREF GetLineColor() const;
Wartość zwracana
Bieżący kolor linii.
Przykład
COLORREF cr = m_TreeCtrl.GetLineColor();
CTreeCtrl::GetNextItem
Wywołaj tę funkcję, aby pobrać element widoku drzewa, który ma określoną relację, wskazaną nCode
przez parametr , na hItem
.
HTREEITEM GetNextItem(
HTREEITEM hItem,
UINT nCode) const;
Parametry
hItem
Uchwyt elementu drzewa.
nCode
Flaga wskazująca typ relacji z hItem
. Ta flaga może być jedną z następujących wartości:
TVGN_CARET
Pobiera aktualnie wybrany element.TVGN_CHILD
Pobiera pierwszy element podrzędny elementu określonegohItem
przez parametr .TVGN_DROPHILITE
Pobiera element, który jest celem operacji przeciągania i upuszczania.TVGN_FIRSTVISIBLE
Pobiera pierwszy widoczny element.TVGN_LASTVISIBLE
Pobiera ostatni rozwinięty element w drzewie. Nie powoduje to pobrania ostatniego elementu widocznego w oknie widoku drzewa.TVGN_NEXT
Pobiera następny element równorzędny.TVGN_NEXTVISIBLE
Pobiera następny widoczny element, który jest zgodny z określonym elementem.TVGN_PARENT
Pobiera element nadrzędny określonego elementu.TVGN_PREVIOUS
Pobiera poprzedni element równorzędny.TVGN_PREVIOUSVISIBLE
Pobiera pierwszy widoczny element poprzedzający określony element.TVGN_ROOT
Pobiera pierwszy element podrzędny elementu głównego, którego określony element jest częścią.
Wartość zwracana
Uchwyt następnego elementu, jeśli się powiedzie; w przeciwnym razie NULL
.
Uwagi
Ta funkcja zwróci NULL
wartość, jeśli pobierany element jest węzłem głównym drzewa. Jeśli na przykład użyjesz tego komunikatu TVGN_PARENT
z flagą pierwszego poziomu podrzędnego węzła głównego widoku drzewa, zostanie zwrócony NULL
komunikat .
Przykład
Przykład użycia GetNextItem
w pętli można znaleźć w temacie 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
Wywołaj tę funkcję, aby pobrać następny element równorzędny elementu hItem
.
HTREEITEM GetNextSiblingItem(HTREEITEM hItem) const;
Parametry
hItem
Uchwyt elementu drzewa.
Wartość zwracana
Uchwyt następnego elementu równorzędnego; w przeciwnym razie NULL
.
Przykład
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
Wywołaj tę funkcję, aby pobrać następny widoczny element elementu hItem
.
HTREEITEM GetNextVisibleItem(HTREEITEM hItem) const;
Parametry
hItem
Uchwyt elementu drzewa.
Wartość zwracana
Uchwyt następnego widocznego elementu; w przeciwnym razie NULL
.
Przykład
Zobacz przykład dla elementu CTreeCtrl::SetCheck
.
CTreeCtrl::GetParentItem
Wywołaj tę funkcję, aby pobrać element nadrzędny elementu hItem
.
HTREEITEM GetParentItem(HTREEITEM hItem) const;
Parametry
hItem
Uchwyt elementu drzewa.
Wartość zwracana
Uchwyt elementu nadrzędnego; w przeciwnym razie NULL
.
Uwagi
Ta funkcja zostanie zwrócona NULL
, jeśli element nadrzędny określonego elementu jest węzłem głównym drzewa.
Przykład
Zobacz przykład dla elementu CTreeCtrl::EnsureVisible
.
CTreeCtrl::GetPrevSiblingItem
Wywołaj tę funkcję, aby pobrać poprzedni element równorzędny elementu hItem
.
HTREEITEM GetPrevSiblingItem(HTREEITEM hItem) const;
Parametry
hItem
Uchwyt elementu drzewa.
Wartość zwracana
Uchwyt poprzedniego elementu równorzędnego; w przeciwnym razie NULL
.
Przykład
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
Wywołaj tę funkcję, aby pobrać poprzedni widoczny element elementu hItem
.
HTREEITEM GetPrevVisibleItem(HTREEITEM hItem) const;
Parametry
hItem
Uchwyt elementu drzewa.
Wartość zwracana
Uchwyt poprzedniego widocznego elementu; w przeciwnym razie NULL
.
Przykład
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
Wywołaj tę funkcję, aby pobrać element główny kontrolki widoku drzewa.
HTREEITEM GetRootItem() const;
Wartość zwracana
Uchwyt elementu głównego; w przeciwnym razie NULL
.
Przykład
Zobacz przykład dla elementu CTreeCtrl::EditLabel
.
CTreeCtrl::GetScrollTime
Wywołaj tę funkcję składową, aby pobrać maksymalny czas przewijania kontrolki widoku drzewa.
UINT GetScrollTime() const;
Wartość zwracana
Maksymalny czas przewijania w milisekundach.
Uwagi
Ta funkcja składowa implementuje zachowanie komunikatu TVM_GETSCROLLTIME
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
CTreeCtrl::GetSelectedCount
Pobiera liczbę wybranych elementów w bieżącej kontrolce widoku drzewa.
UINT GetSelectedCount();
Wartość zwracana
Liczba wybranych elementów.
Uwagi
Ta metoda wysyła TVM_GETSELECTEDCOUNT
komunikat opisany w zestawie SDK systemu Windows.
CTreeCtrl::GetSelectedItem
Wywołaj tę funkcję, aby pobrać aktualnie wybrany element kontrolki widoku drzewa.
HTREEITEM GetSelectedItem() const;
Wartość zwracana
Uchwyt wybranego elementu; w przeciwnym razie NULL
.
Przykład
// 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
Ta funkcja składowa implementuje zachowanie komunikatu TVM_GETTEXTCOLOR
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
COLORREF GetTextColor() const;
Wartość zwracana
COLORREF
Wartość reprezentująca bieżący kolor tekstu. Jeśli ta wartość to -1, kontrolka używa koloru systemowego dla koloru tekstu.
Przykład
Zobacz przykład dla elementu CTreeCtrl::SetTextColor
.
CTreeCtrl::GetToolTips
Ta funkcja składowa implementuje zachowanie komunikatu TVM_GETTOOLTIPS
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
CToolTipCtrl* GetToolTips() const;
Wartość zwracana
Wskaźnik do obiektu, który ma być używany przez kontrolkę CToolTipCtrl
drzewa. Jeśli funkcja składowa Create
używa stylu TVS_NOTOOLTIPS
, nie są używane etykietki narzędzi i NULL
są zwracane.
Uwagi
Implementacja GetToolTips
MFC zwraca CToolTipCtrl
obiekt, który jest używany przez kontrolkę drzewa, a nie uchwyt do kontrolki etykietki narzędzia.
Przykład
// 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
Wywołaj tę funkcję, aby pobrać liczbę widocznych elementów w kontrolce widoku drzewa.
UINT GetVisibleCount() const;
Wartość zwracana
Liczba widocznych elementów w kontrolce widoku drzewa; w przeciwnym razie - 1.
Przykład
Zobacz przykład dla elementu CTreeCtrl::SetCheck
.
CTreeCtrl::HitTest
Wywołaj tę funkcję, aby określić lokalizację określonego punktu względem obszaru klienta kontrolki widoku drzewa.
HTREEITEM HitTest(
CPoint pt,
UINT* pFlags = NULL) const;
HTREEITEM HitTest(TVHITTESTINFO* pHitTestInfo) const;
Parametry
pt
Współrzędne klienta punktu do przetestowania.
pFlags
Wskaźnik do liczby całkowitej, która odbiera informacje o wynikach testu trafienia. Może to być jedna lub więcej wartości wymienionych w flags
ramach elementu członkowskiego w sekcji Uwagi.
pHitTestInfo
TVHITTESTINFO
Adres struktury, która zawiera pozycję do trafienia testu i która otrzymuje informacje o wynikach testu trafienia.
Wartość zwracana
Uchwyt elementu widoku drzewa, który zajmuje określony punkt lub NULL
jeśli żaden element nie zajmuje punktu.
Uwagi
Po wywołaniu pt
tej funkcji parametr określa współrzędne punktu do przetestowania. Funkcja zwraca uchwyt elementu w określonym punkcie lub NULL
jeśli żaden element nie zajmuje punktu. Ponadto pFlags
parametr zawiera wartość wskazującą lokalizację określonego punktu. Dopuszczalne wartości:
Wartość | Opis |
---|---|
TVHT_ABOVE |
Nad obszarem klienta. |
TVHT_BELOW |
Pod obszarem klienta. |
TVHT_NOWHERE |
W obszarze klienta, ale poniżej ostatniego elementu. |
TVHT_ONITEM |
Na mapie bitowej lub etykiecie skojarzonej z elementem. |
TVHT_ONITEMBUTTON |
Na przycisku skojarzonym z elementem. |
TVHT_ONITEMICON |
Na mapie bitowej skojarzonej z elementem. |
TVHT_ONITEMINDENT |
Wcięcie skojarzone z elementem. |
TVHT_ONITEMLABEL |
Na etykiecie (ciągu) skojarzonej z elementem. |
TVHT_ONITEMRIGHT |
W obszarze po prawej stronie elementu. |
TVHT_ONITEMSTATEICON |
Na ikonie stanu elementu widoku drzewa, który jest w stanie zdefiniowanym przez użytkownika. |
TVHT_TOLEFT |
Po lewej stronie obszaru klienta. |
TVHT_TORIGHT |
Po prawej stronie obszaru klienta. |
Przykład
// 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
Wywołaj tę funkcję, aby wstawić nowy element w kontrolce widoku drzewa.
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);
Parametry
lpInsertStruct
Wskaźnik do elementu TVINSERTSTRUCT
, który określa atrybuty elementu widoku drzewa do wstawienia.
nMask
Liczba całkowita określająca atrybuty do ustawienia. TVITEM
Zobacz strukturę w zestawie Windows SDK.
lpszItem
Adres ciągu zawierającego tekst elementu.
nImage
Indeks obrazu elementu na liście obrazów kontrolki widoku drzewa.
nSelectedImage
Indeks wybranego obrazu elementu na liście obrazów kontrolki widoku drzewa.
nState
Określa wartości stanów elementu. Aby uzyskać listę odpowiednich stanów, zobacz Stany elementów kontrolki widoku drzewa w zestawie Windows SDK.
nStateMask
Określa, które stany mają być ustawione. TVITEM
Zobacz strukturę w zestawie Windows SDK.
lParam
Wartość specyficzna dla aplikacji o rozmiarze wskaźnika skojarzona z elementem.
hParent
Uchwyt wstawionego elementu nadrzędnego.
hInsertAfter
Uchwyt elementu, po którym ma zostać wstawiony nowy element.
Wartość zwracana
Obsługa nowego elementu w przypadku powodzenia; w przeciwnym razie NULL
.
Uwagi
W przykładzie pokazano sytuacje, w których można użyć każdej wersji funkcji podczas wstawiania elementu kontrolki drzewa.
Przykład
// 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
Użyj tej funkcji, aby określić, czy element drzewa określony przez hItem
element podrzędny ma elementy podrzędne.
BOOL ItemHasChildren(HTREEITEM hItem) const;
Parametry
hItem
Uchwyt elementu drzewa.
Wartość zwracana
Niezero, jeśli element drzewa określony przez hItem
element podrzędny zawiera elementy podrzędne; 0, jeśli nie.
Uwagi
Jeśli tak, możesz użyć polecenia CTreeCtrl::GetChildItem
, aby pobrać te elementy podrzędne.
Przykład
Zobacz przykład dla elementu CTreeCtrl::GetSelectedItem
.
CTreeCtrl::MapAccIdToItem
Mapuje określony identyfikator ułatwień dostępu do uchwytu elementu widoku drzewa w bieżącej kontrolce widoku drzewa.
HTREEITEM MapAccIdToItem(UINT uAccId) const;
Parametry
uAccId
[in] Identyfikator ułatwień dostępu dla elementu w elemencie widoku drzewa.
Wartość zwracana
Dojście do elementu widoku drzewa (HTREEITEM
), który odpowiada parametrowi uAccId
. Aby uzyskać więcej informacji, zobacz hItem
element członkowski TVITEMEX
struktury.
Uwagi
Ułatwienia dostępu to aplikacje, które ułatwiają osobom niepełnosprawnym korzystanie z komputerów. Identyfikator ułatwień dostępu jest używany przez IAccessible
interfejs w celu unikatowego określenia elementu w oknie. Aby uzyskać więcej informacji na temat IAccessible
interfejsów API, zobacz Microsoft Active Accessibility (Ułatwienia dostępu w usłudze Microsoft Active).
Ta metoda wysyła TVM_MAPACCIDTOHTREEITEM
komunikat opisany w zestawie SDK systemu Windows.
Przykład
Pierwszy przykład kodu definiuje zmienną , m_treeCtrl
która jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku drzewa. Przykładowy kod definiuje również niepodpisaną liczbę całkowitą i kilka HTREEITEM
zmiennych. Te zmienne są używane w następnym przykładzie.
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;
W następnym przykładzie kodu użyto identyfikatora ułatwień dostępu i CTreeCtrl::MapAccIdToItem
metody w celu pobrania uchwytu do elementu widoku drzewa głównego. W przykładzie użyto uchwytu CTreeCtrl::GetItemPartRect
i metody w celu narysowania prostokąta 3D wokół tego elementu. We wcześniejszej sekcji przykładu kodu, który nie jest wyświetlany, utworzyliśmy widok drzewa składający się z głównego węzła kraju/regionu dla Stany Zjednoczone, węzłów podrzędnych dla stanów Pensylwanii i Waszyngtonu oraz elementów drzewa dla miast w tych stanach. Użyliśmy metody do skojarzenia CTreeCtrl::MapItemToAccID
elementu widoku drzewa głównego z identyfikatorem ułatwień dostępu.
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
Mapuje określony uchwyt elementu widoku drzewa w bieżącej kontrolce widoku drzewa na identyfikator ułatwień dostępu.
UINT MapItemToAccID(HTREEITEM hItem) const;
Parametry
hItem
[in] Uchwyt elementu widoku drzewa w kontrolce. Aby uzyskać więcej informacji, zobacz hItem
element członkowski TVITEMEX
struktury.
Wartość zwracana
Identyfikator ułatwień dostępu odpowiadający parametrowi hItem .
Uwagi
Ułatwienia dostępu to aplikacje, które ułatwiają osobom niepełnosprawnym korzystanie z komputerów. Identyfikator ułatwień dostępu jest używany przez IAccessible
interfejs w celu unikatowego określenia elementu w oknie. Aby uzyskać więcej informacji na temat IAccessible
interfejsów API, zobacz Microsoft Active Accessibility (Ułatwienia dostępu w usłudze Microsoft Active).
Ta metoda wysyła TVM_MAPHTREEITEMTOACCID
komunikat opisany w zestawie SDK systemu Windows.
Przykład
Pierwszy przykład kodu definiuje zmienną , m_treeCtrl
która jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku drzewa. Przykładowy kod definiuje również niepodpisaną liczbę całkowitą i kilka HTREEITEM
zmiennych. Te zmienne są używane w następnym przykładzie.
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;
W następnym przykładzie kodu jest uzyskiwany numer identyfikacyjny dla elementu kontrolki widoku drzewa. We wcześniejszej sekcji przykładu kodu, który nie jest wyświetlany, utworzyliśmy widok drzewa składający się z głównego węzła kraju/regionu dla Stany Zjednoczone, węzłów podrzędnych dla stanów Pensylwanii i Waszyngtonu oraz elementów drzewa dla miast w tych stanach. Ten przykładowy kod uzyskuje unikatowy numer identyfikacyjny dla węzła kraju/regionu głównego.
// Map an accessibility identifier to the Pennsylvania node.
accIdUS = m_treeCtrl.MapItemToAccId(hCountry);
CTreeCtrl::Select
Wywołaj tę funkcję, aby wybrać dany element widoku drzewa, przewinąć element do widoku lub ponownie wyrysować element w stylu używanym do wskazania celu operacji przeciągania i upuszczania.
BOOL Select(
HTREEITEM hItem,
UINT nCode);
Parametry
hItem
Uchwyt elementu drzewa.
nCode
Typ akcji do wykonania. Ten parametr może być jedną z następujących wartości:
TVGN_CARET
Ustawia zaznaczenie na dany element.TVGN_DROPHILITE
Ponownie rysuje dany element w stylu używanym do wskazywania celu operacji przeciągania i upuszczania.TVGN_FIRSTVISIBLE
Przewija widok drzewa w pionie, tak aby dany element był pierwszym widocznym elementem.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Jeśli nCode
zawiera wartość TVGN_CARET
, okno nadrzędne odbiera komunikaty z powiadomieniami TVN_SELCHANGING
i .TVN_SELCHANGED
Ponadto, jeśli określony element jest elementem podrzędnym zwiniętego elementu nadrzędnego, lista elementów podrzędnych elementu nadrzędnego jest rozwinięta w celu ujawnienia określonego elementu. W takim przypadku okno nadrzędne odbiera komunikaty z powiadomieniami TVN_ITEMEXPANDING
i .TVN_ITEMEXPANDED
Przykład
Zobacz przykład dla elementu CTreeCtrl::HitTest
.
CTreeCtrl::SelectDropTarget
Wywołaj tę funkcję, aby ponownie wyrysować element w stylu używanym do wskazywania celu operacji przeciągania i upuszczania.
BOOL SelectDropTarget(HTREEITEM hItem);
Parametry
hItem
Uchwyt elementu drzewa.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Przykład
// 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
Wywołaj tę funkcję, aby wybrać dany element widoku drzewa.
BOOL SelectItem(HTREEITEM hItem);
Parametry
hItem
Uchwyt elementu drzewa.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Jeśli hItem
ma NULL
wartość , ta funkcja nie wybiera żadnego elementu.
Przykład
// 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
Wywołaj tę funkcję, aby przewinąć widok drzewa w pionie, aby dany element był pierwszym widocznym elementem.
BOOL SelectSetFirstVisible(HTREEITEM hItem);
Parametry
hItem
Uchwyt elementu drzewa, który ma być ustawiony jako pierwszy widoczny element.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Funkcja wysyła komunikat do okna z parametrami komunikatu TVM_SELECTITEM
i TVGN_FIRSTVISIBLE
.
Przykład
// 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
Ustawia częstotliwość automatycznego wyrejestrowywania bieżącej kontrolki widoku drzewa.
BOOL SetAutoscrollInfo(
UINT uPixelsPerSec,
UINT uUpdateTime);
Parametry
uPixelsPerSec
[in] Liczba pikseli na sekundę do przewinięcia.
uUpdateTime
[in] Przedział czasu między aktualizacjami kontrolki.
Wartość zwracana
Zawsze zwraca wartość TRUE
.
Uwagi
Parametry automatycznego wyrejestrowania służą do przewijania do widoku elementu, który nie jest obecnie widoczny. Kontrolka widoku drzewa musi mieć TVS_EX_AUTOHSCROLL
styl rozszerzony, który jest opisany w stylu rozszerzonym kontrolki Widok drzewa.
Ta metoda wysyła TVM_SETAUTOSCROLLINFO
komunikat opisany w zestawie SDK systemu Windows.
Przykład
Pierwszy przykład kodu definiuje zmienną , m_treeCtrl
która jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku drzewa. Przykładowy kod definiuje również niepodpisaną liczbę całkowitą i kilka HTREEITEM
zmiennych. Te zmienne są używane w następnym przykładzie.
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;
W następnym przykładzie kodu jest ustawiane zachowanie automatycznego wyrejestrowywania bieżącej kontrolki widoku drzewa. We wcześniejszej sekcji przykładu kodu, który nie jest wyświetlany, utworzyliśmy widok drzewa składający się z głównego węzła kraju/regionu dla Stany Zjednoczone, węzłów podrzędnych dla stanów Pensylwanii i Waszyngtonu oraz elementów drzewa dla miast w tych stanach. Celowo zawęziliśmy kontrolkę widoku drzewa, aby automatycznie przewijać, aby wyświetlić element drzewa, który ma fokus. Przykładowy kod ustawia kontrolkę widoku drzewa, aby automatycznie przewijać 30 pikseli na sekundę co 5 sekund do momentu wyświetlenia elementu drzewa.
// Scroll 30 pixels/sec and redraw every 5 seconds.
m_treeCtrl.SetAutoscrollInfo(30, 5);
CTreeCtrl::SetBkColor
Ta funkcja składowa implementuje zachowanie komunikatu TVM_SETBKCOLOR
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
COLORREF SetBkColor(COLORREF clr);
Parametry
clr
Wartość zawierająca COLORREF
nowy kolor tła. Jeśli ta wartość to -1, kontrolka powróci do używania koloru systemu dla koloru tła.
Wartość zwracana
COLORREF
Wartość reprezentująca bieżący kolor tekstu. Jeśli ta wartość to -1, kontrolka używa koloru systemowego dla koloru tekstu.
Przykład
Zobacz przykład dla elementu CTreeCtrl::SetTextColor
.
CTreeCtrl::SetCheck
Wywołaj tę funkcję składową, aby ustawić stan sprawdzania elementu kontrolki drzewa.
BOOL SetCheck(
HTREEITEM hItem,
BOOL fCheck = TRUE);
Parametry
hItem
Element HTREEITEM
do odbierania zmiany stanu sprawdzania.
fCheck
Wskazuje, czy element kontrolki drzewa ma być sprawdzany, czy niezaznaczone. Domyślnie SetCheck
ustawia element do sprawdzenia.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Gdy element kontrolki drzewa jest zaznaczony (fCheck
ustawiony na TRUE
), element jest wyświetlany z sąsiednim znacznikiem wyboru.
Przykład
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);
}
Aby użyć pól wyboru, ustaw TVS_CHECKBOXES
przed wypełnieniem kontrolki drzewa.
m_TreeCtrl.ModifyStyle(0, TVS_CHECKBOXES);
HTREEITEM aItem = m_TreeCtrl.InsertItem(_T("AAA"));
m_TreeCtrl.SetCheck(aItem);
CTreeCtrl::SetExtendedStyle
Ustawia style rozszerzone dla bieżącej kontrolki widoku drzewa.
DWORD SetExtendedStyle(
DWORD dwExMask,
DWORD dwExStyles);
Parametry
dwExMask
[in] Maska bitów określająca, które style w bieżącej kontrolce widoku drzewa mają wpływ na tę metodę. Jeśli ten parametr ma wartość zero, jest ignorowany, a wartość parametru jest przypisywana do kontrolki dwExStyles
widoku drzewa. Określ kombinację zero lub bitową (OR) stylów opisanych w stylu rozszerzonym kontrolki Widok drzewa.
dwExStyles
[in] Maska bitowa określająca, które style w bieżącej kontrolce widoku drzewa mają być ustawiane lub czyszcze. Aby ustawić kombinację stylów, określ kombinację bitową (OR) stylów opisanych w stylu rozszerzonym kontrolki Widok drzewa. Aby wyczyścić zestaw stylów, określ zero.
Wartość zwracana
Wartość zawierająca poprzednie rozszerzone style kontrolek.
Uwagi
Ta metoda czyści style określone w parametrze dwExMask
, a następnie ustawia style określone w parametrze dwExStyles
. Tylko style rozszerzone, które odpowiadają bitom w dwExMask
zmianie.
Ta metoda wysyła TVM_SETEXTENDEDSTYLE
komunikat opisany w zestawie SDK systemu Windows.
Przykład
Pierwszy przykład kodu definiuje zmienną , m_treeCtrl
która jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku drzewa. Przykładowy kod definiuje również niepodpisaną liczbę całkowitą i kilka HTREEITEM
zmiennych. Te zmienne są używane w następnym przykładzie.
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;
Następny przykład kodu dodaje TVS_EX_AUTOHSCROLL
styl rozszerzony do bieżącej kontrolki widoku drzewa. We wcześniejszej sekcji przykładu kodu, który nie jest wyświetlany, utworzyliśmy widok drzewa składający się z głównego węzła kraju/regionu dla Stany Zjednoczone, węzłów podrzędnych dla stanów Pensylwanii i Waszyngtonu oraz elementów drzewa dla miast w tych stanach. Celowo zawęziliśmy kontrolkę widoku drzewa, aby automatycznie przewijać, aby wyświetlić element drzewa, który ma fokus.
m_treeCtrl.SetExtendedStyle(TVS_EX_AUTOHSCROLL, TVS_EX_AUTOHSCROLL);
CTreeCtrl::SetImageList
Wywołaj tę funkcję, aby ustawić listę obrazów normalnych lub stanowych dla kontrolki widoku drzewa i ponownie wyrysować kontrolkę przy użyciu nowych obrazów.
CImageList* SetImageList(
CImageList* pImageList,
int nImageListType);
Parametry
pImageList
Wskaźnik do listy obrazów do przypisania. Jeśli pImageList
wartość to NULL
, wszystkie obrazy zostaną usunięte z kontrolki widoku drzewa.
nImageListType
Typ listy obrazów do ustawienia. Lista obrazów może być jedną z następujących wartości:
TVSIL_NORMAL
Ustawia normalną listę obrazów zawierającą zaznaczone i nieznaczone obrazy dla elementu widoku drzewa. Ten stan należy użyć dla obrazów nakładek.TVSIL_STATE
Ustawia listę obrazów stanu, która zawiera obrazy elementów widoku drzewa, które są w stanie zdefiniowanym przez użytkownika.
Wartość zwracana
Wskaźnik do poprzedniej listy obrazów, jeśli istnieje; w przeciwnym razie NULL
.
Przykład
Zobacz przykład dla elementu CTreeCtrl::GetImageList
.
CTreeCtrl::SetIndent
Wywołaj tę funkcję, aby ustawić szerokość wcięcia dla kontrolki widoku drzewa i ponownie wyrysować kontrolkę, aby odzwierciedlić nową szerokość.
void SetIndent(UINT nIndent);
Parametry
nIndent
Szerokość w pikselach wcięcia. Jeśli nIndent
jest mniejsza niż minimalna szerokość zdefiniowana przez system, nowa szerokość jest ustawiona na minimalną zdefiniowaną przez system.
Przykład
Zobacz przykład dla elementu CTreeCtrl::GetIndent
.
CTreeCtrl::SetInsertMark
Ta funkcja składowa implementuje zachowanie komunikatu TVM_SETINSERTMARK
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
BOOL SetInsertMark(
HTREEITEM hItem,
BOOL fAfter = TRUE);
Parametry
hItem
HTREEITEM
określa, w którym elemencie zostanie umieszczony znacznik wstawiania. Jeśli ten argument ma wartość NULL, znacznik wstawiania zostanie usunięty.
fAfter
Wartość BOOL określająca, czy znacznik wstawiania jest umieszczany przed określonym elementem lub po nim. Jeśli ten argument nie jestzerowy, znacznik wstawiania zostanie umieszczony po elemencie. Jeśli ten argument ma wartość zero, przed elementem zostanie umieszczony znacznik wstawiania.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Przykład
// 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
Ta funkcja składowa implementuje zachowanie komunikatu TVM_SETINSERTMARKCOLOR
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
COLORREF SetInsertMarkColor(COLORREF clrNew);
Parametry
clrNew
Wartość zawierająca COLORREF
nowy kolor znacznika wstawiania.
Wartość zwracana
Wartość zawierająca COLORREF
poprzedni kolor znacznika wstawiania.
Przykład
Zobacz przykład dla elementu CTreeCtrl::GetInsertMarkColor
.
CTreeCtrl::SetItem
Wywołaj tę funkcję, aby ustawić atrybuty określonego elementu widoku drzewa.
BOOL SetItem(TVITEM* pItem);
BOOL SetItem(
HTREEITEM hItem,
UINT nMask,
LPCTSTR lpszItem,
int nImage,
int nSelectedImage,
UINT nState,
UINT nStateMask,
LPARAM lParam);
Parametry
pItem
Wskaźnik do TVITEM
struktury zawierającej nowe atrybuty elementu zgodnie z opisem w zestawie SDK systemu Windows.
hItem
Uchwyt elementu, którego atrybuty mają być ustawione. hItem
Zobacz element członkowski TVITEM
struktury w zestawie Windows SDK.
nMask
Liczba całkowita określająca atrybuty do ustawienia. mask
Zobacz element członkowski TVITEM
struktury.
lpszItem
Adres ciągu zawierającego tekst elementu.
nImage
Indeks obrazu elementu na liście obrazów kontrolki widoku drzewa. iImage
Zobacz element członkowski TVITEM
struktury.
nSelectedImage
Indeks wybranego obrazu elementu na liście obrazów kontrolki widoku drzewa. iSelectedImage
Zobacz element członkowski TVITEM
struktury.
nState
Określa wartości stanów elementu. State
Zobacz element członkowski TVITEM
struktury.
nStateMask
Określa, które stany mają być ustawione. stateMask
Zobacz element członkowski TVITEM
struktury.
lParam
Wartość specyficzna dla aplikacji o rozmiarze wskaźnika skojarzona z elementem.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
TVITEM
W strukturze hItem
element członkowski identyfikuje element, a mask
element członkowski określa, które atrybuty mają być ustawione.
mask
Jeśli element członkowski lub nMask
parametr określa TVIF_TEXT
wartość, pszText
element członkowski lub lpszItem
jest adresem ciągu zakończonego wartością null, a cchTextMax
element członkowski jest ignorowany. Jeśli mask
(lub nMask
) określa TVIF_STATE
wartość, element członkowski lub nStateMask
parametr określa, stateMask
które stany elementu mają ulec zmianie, a state
element członkowski lub nState
parametr zawiera wartości dla tych stanów.
Przykład
// 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
Wywołaj tę funkcję, aby ustawić wartość specyficzną dla aplikacji skojarzona z określonym elementem.
BOOL SetItemData(
HTREEITEM hItem,
DWORD_PTR dwData);
Parametry
hItem
Uchwyt elementu, którego dane mają zostać pobrane.
dwData
Wartość specyficzna dla aplikacji o rozmiarze wskaźnika skojarzona z elementem określonym przez hItem
.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Przykład
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
Ustawia indeks obrazu do wyświetlenia, gdy określony element bieżącej kontrolki widoku drzewa jest w stanie rozwiniętym.
BOOL SetItemExpandedImageIndex(
HTREEITEM hItem,
int iExpandedImage);
Parametry
hItem
[in] Dojście do elementu kontrolki widoku drzewa.
iExpandedImage
[in] Indeks obrazu do wyświetlenia, gdy określony element jest w stanie rozwiniętym.
Wartość zwracana
TRUE
jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE
.
Uwagi
Ta metoda wysyła TVM_SETITEM
komunikat opisany w zestawie SDK systemu Windows. Ta metoda przypisuje iExpandedImage
parametr do iExpandedImage
elementu członkowskiego TVITEMEX
struktury, a następnie używa tej struktury w komunikacie.
Przykład
Pierwszy przykład kodu definiuje zmienną , m_treeCtrl
która jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku drzewa. Przykładowy kod definiuje również niepodpisaną liczbę całkowitą i kilka HTREEITEM
zmiennych. Te zmienne są używane w następnym przykładzie.
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;
Następny przykład kodu to trywialny test określający, czy CTreeCtrl::GetItemExpandedImageIndex
metoda zwraca wartość ustawioną przez metodę CTreeCtrl::SetItemExpandedImageIndex
. We wcześniejszej sekcji przykładu kodu, który nie jest wyświetlany, utworzyliśmy widok drzewa składający się z głównego węzła kraju/regionu dla Stany Zjednoczone, węzłów podrzędnych dla stanów Pensylwanii i Waszyngtonu oraz elementów drzewa dla miast w tych stanach.
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
Ta funkcja składowa implementuje zachowanie komunikatu TVM_SETITEMHEIGHT
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
SHORT SetItemHeight(SHORT cyHeight);
Parametry
cyHeight
Określa nową wysokość każdego elementu w widoku drzewa w pikselach. Jeśli ten argument jest mniejszy niż wysokość obrazów, zostanie ustawiony na wysokość obrazów. Jeśli ten argument nie jest równy, zostanie zaokrąglony w dół do najbliższej parzystej wartości. Jeśli ten argument to -1, kontrolka powróci do używania domyślnej wysokości elementu.
Wartość zwracana
Poprzednia wysokość elementów w pikselach.
Przykład
Zobacz przykład dla elementu CTreeCtrl::GetItemHeight
.
CTreeCtrl::SetItemImage
Kojarzy obrazy z elementem.
BOOL SetItemImage(
HTREEITEM hItem,
int nImage,
int nSelectedImage);
Parametry
hItem
Uchwyt elementu, którego obraz ma zostać ustawiony.
nImage
Indeks obrazu elementu na liście obrazów kontrolki widoku drzewa.
nSelectedImage
Indeks wybranego obrazu elementu na liście obrazów kontrolki widoku drzewa.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Każdy element w kontrolce widoku drzewa może mieć skojarzona parę obrazów map bitowych. Obrazy są wyświetlane po lewej stronie etykiety elementu. Jeden obraz jest wyświetlany po wybraniu elementu, a drugi jest wyświetlany, gdy element nie jest zaznaczony. Na przykład element może wyświetlać otwarty folder po wybraniu i zamknięty folder, gdy nie jest zaznaczony.
Wywołaj tę funkcję, aby ustawić indeks obrazu elementu i jego wybrany obraz na liście obrazów kontrolki widoku drzewa.
Aby uzyskać więcej informacji na temat obrazów, zobacz CImageList
.
Przykład
Zobacz przykład dla elementu CTreeCtrl::GetItemImage
.
CTreeCtrl::SetItemState
Ustawia stan elementu określonego przez hItem
.
BOOL SetItemState(
HTREEITEM hItem,
UINT nState,
UINT nStateMask);
Parametry
hItem
Uchwyt elementu, którego stan ma zostać ustawiony.
nState
Określa nowe stany elementu.
nStateMask
Określa, które stany mają zostać zmienione.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Aby uzyskać informacje na temat stanów, zobacz CTreeCtrl::GetItem
.
Przykład
Zobacz przykład dla elementu CTreeCtrl::GetItemState
.
CTreeCtrl::SetItemStateEx
Ustawia rozszerzony stan określonego elementu w bieżącej kontrolce widoku drzewa.
BOOL SetItemStateEx(
HTREEITEM hItem,
UINT uStateEx);
Parametry
hItem
[in] Dojście do elementu kontrolki widoku drzewa.
uStateEx
[in] Rozszerzony stan elementu. Aby uzyskać więcej informacji, zobacz uStateEx
element członkowski TVITEMEX
struktury.
Wartość zwracana
TRUE
jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE
.
Uwagi
Ta metoda wysyła TVM_SETITEM
komunikat opisany w zestawie SDK systemu Windows. Ta metoda przypisuje uStateEx
parametr do uStateEx
elementu członkowskiego TVITEMEX
struktury, a następnie używa tej struktury w komunikacie.
Przykład
Pierwszy przykład kodu definiuje zmienną , m_treeCtrl
która jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku drzewa. Przykładowy kod definiuje również niepodpisaną liczbę całkowitą i kilka HTREEITEM
zmiennych. Te zmienne są używane w następnym przykładzie.
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;
Następny przykład kodu ustawia element widoku drzewa na wyłączony stan. We wcześniejszej sekcji przykładu kodu, który nie jest wyświetlany, utworzyliśmy widok drzewa składający się z głównego węzła kraju/regionu dla Stany Zjednoczone, węzłów podrzędnych dla stanów Pensylwanii i Waszyngtonu oraz elementów drzewa dla miast w tych stanach. Ten przykładowy kod ustawia węzeł Pensylwanii na stan wyłączony.
// Disable the Pennsylvania node.
m_treeCtrl.SetItemStateEx(hPA, TVIS_EX_DISABLED);
CTreeCtrl::SetItemText
Ustawia tekst elementu określonego przez hItem
.
BOOL SetItemText(
HTREEITEM hItem,
LPCTSTR lpszItem);
Parametry
hItem
Uchwyt elementu, którego tekst ma zostać ustawiony.
lpszItem
Adres ciągu zawierającego nowy tekst elementu
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Przykład
// 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
Wywołaj tę funkcję składową, aby ustawić bieżący kolor linii dla kontrolki widoku drzewa.
COLORREF SetLineColor(COLORREF clrNew = CLR_DEFAULT);
Parametry
clrNew
Nowy kolor linii.
Wartość zwracana
Poprzedni kolor linii.
Uwagi
Ta funkcja składowa implementuje zachowanie komunikatu TVM_SETLINECOLOR
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
Przykład
COLORREF clrPrev = m_TreeCtrl.SetLineColor(RGB(255, 0, 0));
CTreeCtrl::SetScrollTime
Wywołaj tę funkcję składową, aby ustawić maksymalny czas przewijania kontrolki widoku drzewa.
UINT SetScrollTime(UINT uScrollTime);
Parametry
uScrollTime
Nowy maksymalny czas przewijania w milisekundach. Jeśli ta wartość jest mniejsza niż 100, zostanie zaokrąglona do 100.
Wartość zwracana
Poprzedni maksymalny czas przewijania w milisekundach.
Uwagi
Ta funkcja składowa implementuje zachowanie komunikatu TVM_SETSCROLLTIME
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
CTreeCtrl::SetTextColor
Ta funkcja składowa implementuje zachowanie komunikatu TVM_SETTEXTCOLOR
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
COLORREF SetTextColor(COLORREF clr);
Parametry
clr
Wartość zawierająca COLORREF
nowy kolor tekstu. Jeśli ten argument to -1, kontrolka powróci do używania koloru systemowego dla koloru tekstu.
Wartość zwracana
COLORREF
Wartość reprezentująca poprzedni kolor tekstu. Jeśli ta wartość to -1, kontrolka używała koloru systemowego dla koloru tekstu.
Przykład
// 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
Ta funkcja składowa implementuje zachowanie komunikatu TVM_SETTOOLTIPS
Win32 zgodnie z opisem w zestawie WINDOWS SDK.
CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);
Parametry
pWndTip
Wskaźnik do CToolTipCtrl
obiektu, którego będzie używać kontrolka drzewa.
Wartość zwracana
Wskaźnik do obiektu zawierającego CToolTipCtrl
etykietkę narzędzia wcześniej używaną przez kontrolkę lub NULL
jeśli wcześniej nie użyto etykietek narzędzi.
Uwagi
Aby użyć etykietek narzędzi, wskaż TVS_NOTOOLTIPS
styl podczas tworzenia CTreeCtrl
obiektu.
Przykład
Zobacz przykład dla elementu CTreeCtrl::GetToolTips
.
CTreeCtrl::ShowInfoTip
Wyświetla etykietkę informacji dla określonego elementu w bieżącej kontrolce widoku drzewa.
void ShowInfoTip(HTREEITEM hItem);
Parametry
hItem
[in] Uchwyt do elementu widoku drzewa w kontrolce. Aby uzyskać więcej informacji, zobacz hItem
element członkowski TVITEMEX
struktury.
Uwagi
Aby uzyskać więcej informacji na temat różnic między etykietkami narzędzi i etykietkami informacji, zobacz Etykietki narzędzi i etykietki informacji.
Ta metoda wysyła TVM_SHOWINFOTIP
komunikat opisany w zestawie SDK systemu Windows.
CTreeCtrl::SortChildren
Wywołaj tę funkcję, aby posortować alfabetycznie elementy podrzędne danego elementu nadrzędnego w kontrolce widoku drzewa.
BOOL SortChildren(HTREEITEM hItem);
Parametry
hItem
Uchwyt elementu nadrzędnego, którego elementy podrzędne mają być sortowane. Jeśli hItem
wartość to NULL
, sortowanie będzie kontynuowane z katalogu głównego drzewa.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
SortChildren
nie będzie powtarzać się przez drzewo; tylko bezpośrednie dzieci hItem
będą sortowane.
Przykład
// Sort all of the items in the tree control.
m_TreeCtrl.SortChildren(TVI_ROOT);
CTreeCtrl::SortChildrenCB
Wywołaj tę funkcję, aby sortować elementy widoku drzewa przy użyciu funkcji wywołania zwrotnego zdefiniowanego przez aplikację, która porównuje elementy.
BOOL SortChildrenCB(LPTVSORTCB pSort);
Parametry
pSort
Wskaźnik do TVSORTCB
struktury.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Funkcja porównania struktury, , musi zwrócić wartość ujemną, lpfnCompare
jeśli pierwszy element powinien poprzedzać drugą, wartość dodatnią, jeśli pierwszy element powinien być zgodny z drugim lub zero, jeśli dwa elementy są równoważne.
Parametry lParam1
i lParam2
odpowiadają lParam
składowej TVITEM
struktury dla dwóch elementów porównywanych. Parametr lParamSort
odpowiada składowej lParam
TV_SORTCB
struktury.
Przykład
// 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);
Zobacz też
Przykład MFC CMNCTRL1
CWnd
Klasa
Wykres hierarchii
CImageList
Klasa