Freigeben über


Hinzufügen von List-View Bildlisten

In diesem Thema wird das Hinzufügen von Bildlisten zu einem Listenansichtssteuerelement veranschaulicht.

Sie erstellen nur die Imagelisten, die das Steuerelement verwendet. Wenn Ihre Anwendung beispielsweise nicht zulässt, dass der Benutzer zur Symbolansicht wechseln kann, müssen Sie keine große Symbolliste erstellen und zuweisen. Wenn Sie sowohl große als auch kleine Bildlisten erstellen, müssen diese dieselben Bilder in der gleichen Reihenfolge enthalten, da ein einzelner Wert verwendet wird, um das Symbol eines Listenansichtselements in beiden Bildlisten zu identifizieren.

Wichtige Informationen

Technologien

Voraussetzungen

  • C/C++
  • Programmierung der Windows-Benutzeroberfläche

Anweisungen

Zum Anzeigen von Elementbildern müssen Sie dem Listenansicht-Steuerelement eine Bildliste zuweisen. Verwenden Sie hierzu die LVM_SETIMAGELIST Nachricht oder das entsprechende Makro ListView_SetImageList, um anzugeben, ob die Bildliste Symbole in voller Größe, kleine Symbole oder Zustandsbilder enthält. Um das Handle einer Bildliste abzurufen, die derzeit einem Listenansichtssteuerelement zugewiesen ist, verwenden Sie die LVM_GETIMAGELIST Nachricht. Sie können die GetSystemMetrics-Funktion verwenden, um die entsprechenden Dimensionen für die Symbole in voller Größe und für kleine Symbole zu bestimmen.

Im folgenden C++-Codebeispiel erstellt die anwendungsdefinierte Funktion zunächst Bildlisten und weist sie dann einem Listenansichtssteuerelement zu.

// InitListViewImageLists: Creates image lists for a list-view control.
// This function only creates image lists. It does not insert the items into
// the control, which is necessary for the control to be visible.   
//
// Returns TRUE if successful, or FALSE otherwise. 
//
// hWndListView: Handle to the list-view control. 
// global variable g_hInst: The handle to the module of either a 
// dynamic-link library (DLL) or executable (.exe) that contains
// the image to be loaded. If loading a standard or system
// icon, set g_hInst to NULL.
//
BOOL InitListViewImageLists(HWND hWndListView) 
{ 
    HICON hiconItem;     // Icon for list-view items.
    HIMAGELIST hLarge;   // Image list for icon view.
    HIMAGELIST hSmall;   // Image list for other views.

    // Create the full-sized icon image lists. 
    hLarge = ImageList_Create(GetSystemMetrics(SM_CXICON), 
                              GetSystemMetrics(SM_CYICON), 
                              ILC_MASK, 1, 1); 

    hSmall = ImageList_Create(GetSystemMetrics(SM_CXSMICON), 
                              GetSystemMetrics(SM_CYSMICON), 
                              ILC_MASK, 1, 1); 
    
    // Add an icon to each image list.  
    hiconItem = LoadIcon(g_hInst, MAKEINTRESOURCE(IDI_ITEM));

    ImageList_AddIcon(hLarge, hiconItem);
    ImageList_AddIcon(hSmall, hiconItem);

    DestroyIcon(hiconItem);
 
// When you are dealing with multiple icons, you can use the previous four lines of 
// code inside a loop. The following code shows such a loop. The 
// icons are defined in the application's header file as resources, which 
// are numbered consecutively starting with IDS_FIRSTICON. The number of 
// icons is defined in the header file as C_ICONS.
/*    
    for(index = 0; index < C_ICONS; index++)
    {
        hIconItem = LoadIcon (g_hinst, MAKEINTRESOURCE(IDS_FIRSTICON + index));
        ImageList_AddIcon(hSmall, hIconItem);
        ImageList_AddIcon(hLarge, hIconItem);
        Destroy(hIconItem);
    }
*/
    
    // Assign the image lists to the list-view control. 
    ListView_SetImageList(hWndListView, hLarge, LVSIL_NORMAL); 
    ListView_SetImageList(hWndListView, hSmall, LVSIL_SMALL); 
    
    return TRUE; 
}

List-View-Steuerelementreferenz

Informationen zu List-View-Steuerelementen

Verwenden von List-View-Steuerelementen