Compartir a través de


Cómo crear un control de Tree-View

Para crear un control de vista de árbol, use la función CreateWindowEx , especificando el valor de WC_TREEVIEW para la clase de ventana. La clase de ventana de vista de árbol se registra en el espacio de direcciones de la aplicación cuando se carga el archivo DLL de control común. Para asegurarse de que se carga el archivo DLL, use la función InitCommonControls .

Lo que necesita saber

Tecnologías

Requisitos previos

  • C/C++
  • Programación de la interfaz de usuario de Windows

Instrucciones

Crear una instancia de un control de Tree-View

En el ejemplo siguiente se crea un control de vista de árbol que tiene el tamaño para ajustarse al área cliente de la ventana primaria. También usa funciones definidas por la aplicación para asociar una lista de imágenes con el control y agregar elementos al control.

// Create a tree-view control. 
// Returns the handle to the new control if successful,
// or NULL otherwise. 
// hwndParent - handle to the control's parent window. 
// lpszFileName - name of the file to parse for tree-view items.
// g_hInst - the global instance handle.
// ID_TREEVIEW - the resource ID of the control.

HWND CreateATreeView(HWND hwndParent)
{ 
    RECT rcClient;  // dimensions of client area 
    HWND hwndTV;    // handle to tree-view control 

    // Ensure that the common control DLL is loaded. 
    InitCommonControls(); 

    // Get the dimensions of the parent window's client area, and create 
    // the tree-view control. 
    GetClientRect(hwndParent, &rcClient); 
    hwndTV = CreateWindowEx(0,
                            WC_TREEVIEW,
                            TEXT("Tree View"),
                            WS_VISIBLE | WS_CHILD | WS_BORDER | TVS_HASLINES, 
                            0, 
                            0, 
                            rcClient.right, 
                            rcClient.bottom,
                            hwndParent, 
                            (HMENU)ID_TREEVIEW, 
                            g_hInst, 
                            NULL); 

    // Initialize the image list, and add items to the control. 
    // InitTreeViewImageLists and InitTreeViewItems are application- 
    // defined functions, shown later. 
    if (!InitTreeViewImageLists(hwndTV) || 
                !InitTreeViewItems(hwndTV))
    { 
        DestroyWindow(hwndTV); 
        return FALSE; 
    } 
    return hwndTV;
} 

Comentarios

Al crear un control de vista de árbol, también puede enviarlo un mensaje de WM_SETFONT para establecer la fuente que se usará para el texto. Debe enviar este mensaje antes de insertar elementos. De forma predeterminada, una vista de árbol usa la fuente de título del icono. Aunque puede personalizar la fuente por elemento mediante Custom Draw, el control de vista de árbol usa las dimensiones de la fuente especificada por el mensaje de WM_SETFONT para determinar el espaciado y el diseño.

Uso de controles de Tree-View

El ejemplo custDTv muestra un dibujo personalizado en un control Tree-View