Delen via


Een Tree-View-besturingselement maken

Als u een besturingselement voor structuurweergave wilt maken, gebruikt u de functie CreateWindowEx en specificeert u de waarde WC_TREEVIEW voor de vensterklasse. De structuurweergavevensterklasse wordt geregistreerd in de adresruimte van de toepassing wanneer het algemene DLL-bestand voor besturingselementen wordt geladen. Gebruik de functie InitCommonControls om ervoor te zorgen dat het DLL-bestand is geladen.

Wat u moet weten

Technologieën

Voorwaarden

  • C/C++
  • Programmeren van Windows-gebruikersinterface

Aanwijzingen

Een exemplaar van een Tree-View-besturingselement maken

In het volgende voorbeeld wordt een besturingselement voor structuurweergave gemaakt dat is aangepast aan de grootte van het clientgebied van het bovenliggende venster. Het maakt ook gebruik van door de toepassing gedefinieerde functies om een afbeeldingslijst aan het bedieningselement te koppelen en items toe te voegen aan het bedieningselement.

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

Opmerkingen

Wanneer u een boomstructuurweergave maakt, kunt u het ook een WM_SETFONT bericht verzenden om het lettertype in te stellen dat voor de tekst moet worden gebruikt. U moet dit bericht verzenden voordat u items invoegt. In een structuurweergave wordt standaard het lettertype van de pictogramtitel gebruikt. Hoewel u het lettertype per item kunt aanpassen met behulp van Aangepast tekenen, gebruikt het tree-view besturingselement de afmetingen van het lettertype dat wordt opgegeven door het WM_SETFONT bericht om de afstand en indeling te bepalen.