Initialisieren der Bildliste

Jedem Element in einem Strukturansichtssteuerelement können zwei Bilder zugeordnet sein. Ein Element zeigt ein Bild an, wenn es ausgewählt ist, und das andere, wenn es nicht ausgewählt ist. Verwenden Sie zum Einschließen von Bildern mit Strukturansichtselementen zunächst die Bildlistenfunktionen, um eine Bildliste zu erstellen und ihr Bilder hinzuzufügen. Ordnen Sie dann die Bildliste mithilfe der TVM _ SETIMAGELIST-Nachricht dem Strukturansichtssteuerelement zu.

Wichtige Informationen

Technologien

Voraussetzungen

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

Instructions

Initialisieren der Bildliste

Im folgenden Beispiel wird eine Bildliste erstellt, der Liste drei Bitmaps hinzugefügt und die Bildliste einem Strukturansichtssteuerelement zugeordnet.

// InitTreeViewImageLists - creates an image list, adds three bitmaps 
// to it, and associates the image list with a tree-view control. 
// Returns TRUE if successful, or FALSE otherwise. 
// hwndTV - handle to the tree-view control. 
//
// Global variables and constants: 
// g_hInst - the global instance handle.
// g_nOpen, g_nClosed, and g_nDocument - global indexes of the images. 
// CX_BITMAP and CY_BITMAP - width and height of an icon. 
// NUM_BITMAPS - number of bitmaps to add to the image list. 
// IDB_OPEN_FILE, IDB_CLOSED_FILE, IDB_DOCUMENT -
//     resource identifiers of the bitmaps.

BOOL InitTreeViewImageLists(HWND hwndTV) 
{ 
    HIMAGELIST himl;  // handle to image list 
    HBITMAP hbmp;     // handle to bitmap 

    // Create the image list. 
    if ((himl = ImageList_Create(CX_BITMAP, 
                                 CY_BITMAP,
                                 FALSE, 
                                 NUM_BITMAPS, 0)) == NULL) 
        return FALSE; 

    // Add the open file, closed file, and document bitmaps. 
    hbmp = LoadBitmap(g_hInst, MAKEINTRESOURCE(IDB_OPEN_FILE)); 
    g_nOpen = ImageList_Add(himl, hbmp, (HBITMAP)NULL); 
    DeleteObject(hbmp); 

    hbmp = LoadBitmap(g_hInst, MAKEINTRESOURCE(IDB_CLOSED_FILE)); 
    g_nClosed = ImageList_Add(himl, hbmp, (HBITMAP)NULL); 
    DeleteObject(hbmp); 

    hbmp = LoadBitmap(g_hInst, MAKEINTRESOURCE(IDB_DOCUMENT)); 
    g_nDocument = ImageList_Add(himl, hbmp, (HBITMAP)NULL); 
    DeleteObject(hbmp); 

    // Fail if not all of the images were added. 
    if (ImageList_GetImageCount(himl) < 3) 
        return FALSE; 

    // Associate the image list with the tree-view control. 
    TreeView_SetImageList(hwndTV, himl, TVSIL_NORMAL); 

    return TRUE; 
} 

Verwenden von Tree-View-Steuerelementen

CustDTv-Beispiel veranschaulicht das benutzerdefinierte Zeichnen in einem Tree-View-Steuerelement.