Control de árbol MFC

Control de árbol MFC

1. Primero arrastre el control en la ventana.

2. Establecer propiedades:

Tiene línea: use líneas de puntos para vincular niveles de nodo

Tiene Buton: agregar botones para contraer y expandir

3. Establecer la colección de imágenes

3.1 SetImageList (CImageList * lista, macro de visualización normal)

3.1.1 El objeto CImageList se declara en el archivo .h y se reciclará si se usa en el montón

3.2 Crear crear (30, 30 xx bits de color, 4, 4)

3.3 añadir (HICON)

4. Agregar nodo

4.1 InsertItem (nombre de nodo, imagen de visualización, imagen seleccionada, nodo principal)

5. Establezca el nodo SelectItem predeterminado

 // 1 Establecer el ícono 
 // Lista CImageList; // La lista de íconos debe declararse como global, de lo contrario se eliminará después de ser colocada en el montón y utilizada. Debe colocarse en el archivo .h. 
 //1.1 Preparar íconos 
 HICON Íconos HICON [3] ; 
 // Cargar recursos de iconos especificados por nIDResource desde archivos ejecutables 
 icons [0] = AfxGetApp () -> LoadIconW (IDI_ICON2); 
 iconos [1] = AfxGetApp () -> LoadIconW (IDI_ICON3); 
 iconos [2] = AfxGetApp ( ) -> LoadIconW (IDI_ICON4); 
 // Crea una colección de imágenes 
 list.Create (30,30, ILC_COLOR32,4,4); 
 // Agrega imágenes específicas 
 para (int i = 0; i <3; i ++) { 
     list .add (iconsThe [I]); 
 } 
 mTree.SetImageList (& List, TVSIL_NORMAL); 
 // establecer 2 nombres de nodo, la imagen predeterminada, la imagen seleccionada muestra lo que 
 HTREEITEM root = mTree.InsertItem (TEXT ("nodo raíz" ), 0, 0, 0); 
 HTREEITEM padre = mTree.InsertItem (TEXT ("nodo padre"), 1,1, raíz); 
 HTREEITEM sub1 = mTree.InsertItem (TEXT ("nodo hijo"), 2,2, padre);
 HTREEITEM sub2 = mTree.InsertItem (TEXT ("nodo secundario"), 2, 2, padre); 
 // Establezca la opción predeterminada 
 mTree.SelectItem (sub1);

6. Activar eventos para cambiar entre nodos

6.1, Obtener el elemento actual GetSelectedItem

6.2, obtenga el contenido GetItemText de acuerdo con el elemento

 CMFC06TreeControlDlg vacío :: OnTvnSelchangedTree1 (NMHDR * pNMHDR, LRESULT * pResult) 
 { 
     LPNMTREEVIEW pNMTreeView = reinterpret_cast <LPNMTREEVIEW> (pNMHDR); 
     // TODO: control de código de controlador de notificación Sube aquí 
     * pResult = 0; 
     // Obtener el manejador del elemento seleccionado en ese momento 
     item = mTree.GetSelectedItem an HTREEITEM (); 
     // encuentra el elemento de contenido de acuerdo con el identificador seleccionado 
     CString name = mTree.GetItemText (item); 
     el MessageBox (name, _T ("nombre")); 
 }

Supongo que te gusta

Origin blog.csdn.net/weixin_49035356/article/details/109491441
Recomendado
Clasificación