Použití ovládacích prvků strom

Typické použití ovládacího prvku stromu (CTreeCtrl) se řídí následujícím vzorem:

  • Ovládací prvek se vytvoří. Pokud je ovládací prvek zadán v šabloně dialogového okna nebo pokud používáte CTreeView, vytváření je automatické při vytvoření dialogového okna nebo zobrazení. Pokud chcete vytvořit ovládací prvek stromu jako podřízené okno některého jiného okna, použijte funkci Vytvořit člena.

  • Pokud chcete, aby ovládací prvek strom používal obrázky, nastavte seznam obrázků voláním SetImageList. Odsazení můžete také změnit voláním SetIndent. Dobrý čas k tomu je v OnInitDialog (pro ovládací prvky v dialogových oknech) nebo OnInitialUpdate (pro zobrazení).

  • Data vložte do ovládacího prvku voláním CTreeCtrlfunkce InsertItem jednou pro každou položku dat. InsertItem vrátí popisovač položky, kterou můžete použít k pozdějšímu odkazu, například při přidávání podřízených položek. Vhodná doba k inicializaci dat je v OnInitDialog (pro ovládací prvky v dialogových oknech) nebo OnInitialUpdate (pro zobrazení).

  • Když uživatel pracuje s ovládacím prvku, odešle různé zprávy s oznámením. Pomocí ON_NOTIFY_REFLECT makra v mapě zpráv v ovládacím okně nebo přidáním ON_NOTIFY makra do mapy zpráv nadřazeného okna můžete určit funkci, která bude zpracovávat jednotlivé zprávy. Seznam možných oznámení najdete v části Zprávy oznámení o ovládacím prvku stromu dále v tomto tématu.

  • Voláním různých členských funkcí Set nastavíte hodnoty pro ovládací prvek. Změny, které můžete provést, zahrnují nastavení odsazení a změnu textu, obrázku nebo dat přidružených k položce.

  • Pomocí různých funkcí Get můžete prozkoumat obsah ovládacího prvku. Obsah ovládacího prvku stromu můžete procházet také pomocí funkcí, které umožňují načítat popisovače pro rodiče, podřízené položky a stejné položky. Můžete dokonce řadit podřízené položky určitého uzlu.

  • Až ovládací prvek dokončíte, ujistěte se, že je správně zničený. Pokud je ovládací prvek strom v dialogovém okně nebo v zobrazení, objekt CTreeCtrl se automaticky zničí. Pokud ne, musíte zajistit, aby ovládací prvek i CTreeCtrl objekt byly správně zničeny.

Viz také

Používání atributu CTreeCtrl
Ovládací prvky