Come creare un controllo Visualizzazione albero

Per creare un controllo visualizzazione albero, usare la funzione CreateWindowEx, specificando il valore WC_TRedizione Enterprise VIEW per la classe window. La classe della finestra della visualizzazione albero viene registrata nello spazio indirizzi dell'applicazione quando viene caricata la DLL di controllo comune. Per assicurarsi che la DLL venga caricata, usare la funzione InitCommonControls.

Informazioni importanti

Tecnologie

Prerequisiti

  • C/C++
  • Programmazione dell'interfaccia utente di Windows

Istruzioni

Creare un'istanza di un controllo Visualizzazione albero

Nell'esempio seguente viene creato un controllo visualizzazione albero ridimensionato per adattarsi all'area client della finestra padre. Usa inoltre funzioni definite dall'applicazione per associare un elenco di immagini al controllo e aggiungere elementi al controllo.

// 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;
} 

Osservazioni:

Quando si crea un controllo visualizzazione albero, è anche possibile inviarlo un messaggio WM_edizione Standard TFONT per impostare il tipo di carattere da utilizzare per il testo. È consigliabile inviare questo messaggio prima di inserire elementi. Per impostazione predefinita, una visualizzazione albero usa il tipo di carattere del titolo dell'icona. Sebbene sia possibile personalizzare il tipo di carattere per elemento utilizzando Disegno personalizzato, il controllo visualizzazione albero utilizza le dimensioni del tipo di carattere specificato dal messaggio WM_edizione Standard TFONT per determinare la spaziatura e il layout.

Uso dei controlli visualizzazione albero

L'esempio CustDTv illustra un disegno personalizzato in un controllo Tree-View