gibt an Strukturansicht-Steuerelement-Element Übersicht

Jedes Element in einem Strukturansicht-Steuerelement (CTreeCtrl) verfügt über eine aktuelle Zustand.Beispielsweise kann ein Element ausgewählt wurden, deaktiviert wurde, wird usw.In den meisten Fällen wird das Struktursteuerelement automatisch den Zustand eines Elements fest, um Benutzeraktionen wie Auswahl eines Elements zu beschreiben.Sie können jedoch den Zustand eines Elements, indem Sie die SetItemState-Memberfunktion, festlegen und den aktuellen Zustand eines Elements abrufen, indem Sie die GetItemState-Memberfunktion verwenden.Eine vollständige Liste der Zustände Element finden Sie in Strukturansicht-Steuerelement-KonstantenWindows SDK.

Der aktuelle Status eines Elements wird durch den nState-Parameter angegeben.Ein Strukturansicht-Steuerelement könnte den Zustand eines Elements, um eine Benutzeraktion, z. B. Auswahl des Elements oder Festlegen des Fokus auf das Element mitzuteilen.Außerdem könnte eine Anwendung den Zustand eines Elements, um das Element auszublenden oder zu deaktivieren oder Overlay ein Bild anzugeben oder Bild anzugeben.

Wenn Sie den Zustand eines Elements angeben oder ändern, gibt der nStateMask-Parameter an, die Bits, um festzulegen, und der nState-Parameter enthält die neuen Werte für jene Bits.Das folgende Beispiel ändert beispielsweise den aktuellen Zustand eines übergeordneten Elements (angegeben durch hParentItem) in einem CTreeCtrl-Objekt (m_treeCtrl) 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);

Ein anderes Beispiel für das Ändern des Zustands eines Elements Bild Overlay würde festgelegt sein.Um dies zu erreichen, muss nStateMask den TVIS_OVERLAYMASK-Wert einfügen, und nState muss den einsbasierten Index des Overlay Bilder einbeziehen, das acht Bits verschoben wird, mithilfe des INDEXTOOVERLAYMASK Makro verwendet.Der Index kann 0 sein, um keinen Overlay Bilder anzugeben.Das Bild muss der Liste Overlay des Strukturansicht-Steuerelements von Overlay Bilder von einem vorherigen Aufruf der CImageList::SetOverlayImage-Funktion hinzugefügt worden sein.Die Funktion gibt den einsbasierten Index des Bilds an, die hinzugefügt werden soll. Dies ist der Index, der mit dem INDEXTOOVERLAYMASK Makro verwendet wird.Ein Strukturansicht-Steuerelement können bis zu vier Overlay Bilder haben.

Um Bild Zustand eines Elements festzulegen, muss nStateMask den TVIS_STATEIMAGEMASK-Wert einfügen, und nState muss den einsbasierten Index des Zustands, den das Bild 12 Bits verschoben wurde, indem das INDEXTOSTATEIMAGEMASK Makro übergeben wird.Der Index kann 0 sein, um keinen Zustand Bilder anzugeben.Weitere Informationen zu Overlay- und das Feld Status von Bildern finden Sie Strukturansicht-Steuerelement-Bildlisten.

Siehe auch

Referenz

Verwenden von CTreeCtrl

Konzepte

Steuerelemente (MFC)