Hinzufügen List-View Bildlisten

In diesem Thema wird veranschaulicht, wie Einem Listenansichtssteuerelement Bildlisten hinzugefügt werden.

Sie erstellen nur die Bildlisten, die das Steuerelement verwendet. Wenn ihre Anwendung beispielsweise nicht zulässt, dass der Benutzer zur Symbolansicht wechselt, müssen Sie keine große Symbolliste erstellen und zuweisen. Wenn Sie sowohl große als auch kleine Bildlisten erstellen, müssen sie die gleichen 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++
  • Windows Benutzeroberfläche-Programmierung

Instructions

Um Elementbilder anzuzeigen, 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. Verwenden Sie die LVM _ GETIMAGELIST-Meldung, um das Handle für eine Bildliste abzurufen, die derzeit einem Listenansichtssteuerelement zugewiesen ist. Sie können die GetSystemMetrics-Funktion verwenden, um die geeigneten Dimensionen für die Symbole in voller Größe und klein zu bestimmen.

Im folgenden C++-Codebeispiel erstellt die anwendungsdefinierte Funktion zunächst Bildlisten und weist sie dann einem Listenansicht-Steuerelement 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; 
}

Referenz zum Listenansicht-Steuerelement

Informationen zu List-View-Steuerelementen

Verwenden von List-View-Steuerelementen