Udostępnij za pośrednictwem


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:

Hierarchia dziedziczenia

CObject

CCmdTarget

CWnd

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 CreateWindowtemacie 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_VISIBLEopró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 CreateWindowtemacie 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 pParentWndklienta .

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. Flaga TVIS_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_GETBKCOLORWin32 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 hItemelement .

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_GETINSERTMARKCOLORWin32 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_GETITEMHEIGHTWin32 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_treeCtrlktó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 nStateMaskprogramu , 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 hItemelement .

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_treeCtrlktó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_GETLINECOLORWin32 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ślonego hItem 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 NULLkomunikat .

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_GETSCROLLTIMEWin32 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_GETTEXTCOLORWin32 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_GETTOOLTIPSWin32 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_treeCtrlktó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_treeCtrlktó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 NULLwartość , 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_treeCtrlktó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_SETBKCOLORWin32 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_treeCtrlktó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_SETINSERTMARKWin32 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_SETINSERTMARKCOLORWin32 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_treeCtrlktó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_SETITEMHEIGHTWin32 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_treeCtrlktó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_SETLINECOLORWin32 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_SETSCROLLTIMEWin32 zgodnie z opisem w zestawie WINDOWS SDK.

CTreeCtrl::SetTextColor

Ta funkcja składowa implementuje zachowanie komunikatu TVM_SETTEXTCOLORWin32 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_SETTOOLTIPSWin32 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ą, lpfnComparejeś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