Přehled stavů položek ovládacího prvku strom
Jednotlivé položky v ovládacím prvku stromu (CTreeCtrl) je aktuální stav.Například může být vybrána položka, zakázáno, Rozšířená a tak dále.Ovládací prvek stromové struktury z velké části automaticky nastaví stav položky tak, aby odrážely uživatelské akce, jako je například výběr položky.Však můžete také nastavit stav položky pomocí SetItemState členské funkce a načíst aktuální stav položky pomocí GetItemState členské funkce.Úplný seznam států, položky, viz Konstanty ovládacího prvku zobrazení stromu v Windows SDK.
Aktuální stav položky je určena nState parametr.Stromový ovládací prvek může změnit stav položky tak, aby odrážely uživatelské akce, například výběrem položky nebo položky nastavení fokusu.Navíc aplikace může změnit stav na položku zakázat nebo skrýt položky nebo zadat překrytí obrazu nebo stavu obrazu.
Je-li zadat nebo změnit stav položky nStateMask parametr určuje, které stát bitů nastaven a nState parametr obsahuje nové hodnoty pro tyto bity.Například následující příklad změní aktuální stav nadřazené položky (podle hParentItem) v CTreeCtrl objektu (m_treeCtrl) na 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);
Dalším příkladem změně stavu bude nastaven na položku překryvný obrázek.K tomu, nStateMask musí obsahovat TVIS_OVERLAYMASK hodnotu, a nState musí obsahovat jedničky index překrytí obrazu posunuty doleva pomocí osmi bity INDEXTOOVERLAYMASK makra.Index může být 0, která určí bez překrytí obrazu.Překryvný obrázek musí být přidán do seznamu ovládací prvek stromové struktury překrytí obrazů podle předchozího volání CImageList::SetOverlayImage funkce.Tato funkce určuje index založený na jednom obrázku přidat; je to index se používá INDEXTOOVERLAYMASK makra.Stromový ovládací prvek může mít až čtyři obrázky překrytí.
Nastavení na položku stav obrázku, nStateMask musí obsahovat TVIS_STATEIMAGEMASK hodnotu, a nState musí obsahovat jedničky index obrázku stavu posunuty doleva 12 bitů pomocí INDEXTOSTATEIMAGEMASK makra.Index lze určit žádný obrázek stavu 0.Další informace o překrytí a stát obrazy, viz Uvádí obrázek ovládacího prvku stromu.