Udostępnij za pośrednictwem


Omówienie stanów elementu formantu drzewa

Każdy element w formancie drzewa (CTreeCtrl) zawiera bieżący stan.Na przykład element można wybrać, disabled, rozwinięty i tak dalej.W większości drzewie automatycznie ustawia stan elementu w celu odzwierciedlenia akcje użytkownika, takich jak Zaznaczanie elementu.Jednakże, również można ustawić elementu członkowskiego przy użyciu SetItemState Członkowskie funkcje i Pobierz bieżący stan elementu za pomocą GetItemState funkcji składowej.Pełną listę stanów elementu, zobacz Stałe formantu widoku drzewa w Windows SDK.

Bieżący stan elementu jest określony przez nState parametru.Formant drzewa może zmienić stan elementu w celu odzwierciedlenia czynności użytkownika, takich jak Zaznaczanie elementu lub ustawienie fokusu do elementu.Aplikacja mogą ulegać zmianie stanu elementu do wyłączania lub Ukryj element lub określić nakładki obrazu lub obraz stanu.

Po określeniu lub zmienić stan elementu nStateMask parametr określa, które Państwo bity, aby ustawić i nState parametr zawiera nowe wartości dla tych bitów.Na przykład, poniższy przykład zmienia bieżący stan zapasu nadrzędnego (określonej przez hParentItem) w CTreeCtrl obiektu (m_treeCtrl) do TVIS_EXPANDPARTIAL:

TVITEM curItem;
HTREEITEM hParentItem;

hParentItem = m_TreeCtrl.GetSelectedItem();

//modify the parent item to keep the '+' sign
curItem.mask = TVIF_STATE | TVIF_HANDLE;
curItem.hItem = hParentItem;
curItem.state = TVIS_EXPANDPARTIAL;
curItem.stateMask = TVIS_EXPANDPARTIAL;
m_TreeCtrl.SetItem(&curItem);

Innym przykładem zmiany stanu może być ustawić element obrazu nad powierzchnią.W tym, nStateMask musi zawierać TVIS_OVERLAYMASK wartości, i nState musi zawierać opartych na jeden indeks nakładki obrazu przesunięte opuścił osiem bitów za pomocą INDEXTOOVERLAYMASK makro.Indeks może być 0, aby określić obraz nie nakładki.Obraz nakładki musi zostały dodane do listy formant drzewa nakładki obrazów przez poprzednie wywołanie CImageList::SetOverlayImage funkcji.Funkcja określa indeks na jeden obraz, aby dodać; jest to indeks używany z INDEXTOOVERLAYMASK makro.Formant drzewa może mieć maksymalnie cztery obrazy nakładki.

Aby ustawić obraz stanu elementu, nStateMask musi zawierać TVIS_STATEIMAGEMASK wartości, i nState musi zawierać opartych na jeden indeks obrazu stanu przesunięte opuścił 12 bitów przy użyciu INDEXTOSTATEIMAGEMASK makro.Indeks może być 0, aby określić obraz stanu nie.Aby uzyskać więcej informacji o obrazach nakładki i Państwa, zobacz Wyświetla obraz formantu drzewa.

Zobacz też

Informacje

Przy użyciu CTreeCtrl

Koncepcje

Formanty (MFC)