Udostępnij za pośrednictwem


Używanie kontrolek drzewa

Typowe użycie kontrolki drzewa (CTreeCtrl) jest zgodne z poniższym wzorcem:

  • Kontrolka jest tworzona. Jeśli kontrolka jest określona w szablonie okna dialogowego lub jeśli używasz CTreeView, tworzenie jest automatyczne po utworzeniu okna dialogowego lub widoku. Jeśli chcesz utworzyć kontrolkę drzewa jako okno podrzędne innego okna, użyj funkcji Utwórz element członkowski.

  • Jeśli chcesz, aby kontrolka drzewa korzystała z obrazów, ustaw listę obrazów, wywołując metodę SetImageList. Możesz również zmienić wcięcie, wywołując polecenie SetIndent. Dobrym rozwiązaniem jest w dzienniku OnInitDialog (w przypadku kontrolek w oknach dialogowych) lub OnInitialUpdate (w przypadku widoków).

  • Umieść dane w kontrolce, wywołując CTreeCtrlfunkcję InsertItem raz dla każdego elementu danych. InsertItem Zwraca uchwyt do elementu, którego można użyć do odwoływania się do niego później, na przykład podczas dodawania elementów podrzędnych. Dobry czas na zainicjowanie danych znajduje się OnInitDialog (w przypadku kontrolek w oknach dialogowych) lub OnInitialUpdate (w przypadku widoków).

  • Gdy użytkownik wchodzi w interakcję z kontrolką, będzie wysyłać różne komunikaty z powiadomieniami. Możesz określić funkcję do obsługi każdego komunikatu, który chcesz obsłużyć, dodając makro ON_NOTIFY_REFLECT w mapie komunikatów okna sterowania lub dodając makro ON_NOTIFY do mapy komunikatów okna nadrzędnego. Aby uzyskać listę możliwych powiadomień, zobacz Komunikaty powiadomień kontrolki drzewa w dalszej części tego tematu.

  • Wywołaj różne funkcje zestawu elementów członkowskich, aby ustawić wartości dla kontrolki. Zmiany, które można wprowadzić, obejmują ustawienie wcięcia i zmianę tekstu, obrazu lub danych skojarzonych z elementem.

  • Użyj różnych funkcji Get, aby zbadać zawartość kontrolki. Możesz również przejść przez zawartość kontrolki drzewa za pomocą funkcji, które umożliwiają pobieranie dojść do elementów nadrzędnych, podrzędnych i elementów równorzędnych określonego elementu. Można nawet sortować elementy podrzędne określonego węzła.

  • Po zakończeniu pracy z kontrolką upewnij się, że została ona prawidłowo zniszczona. Jeśli kontrolka drzewa znajduje się w oknie dialogowym lub jeśli jest to widok, zostanie on CTreeCtrl automatycznie zniszczony. W przeciwnym razie należy upewnić się, że zarówno kontrolka, jak i CTreeCtrl obiekt zostaną prawidłowo zniszczone.

Zobacz też

Korzystanie z CTreeCtrl
Kontrolki