Bagikan melalui


Cara Menambahkan Daftar Gambar Tampilan Daftar

Topik ini menunjukkan cara menambahkan daftar gambar ke kontrol tampilan daftar.

Anda hanya membuat daftar gambar yang digunakan kontrol. Misalnya, jika aplikasi Anda tidak mengizinkan pengguna untuk beralih ke tampilan ikon, Anda tidak perlu membuat dan menetapkan daftar ikon besar. Jika Anda membuat daftar gambar besar dan kecil, mereka harus berisi gambar yang sama dalam urutan yang sama, karena satu nilai digunakan untuk mengidentifikasi ikon item tampilan daftar di kedua daftar gambar.

Apa yang perlu Anda ketahui

Teknologi

Prasyarat

  • C/C++
  • Pemrograman Antarmuka Pengguna Windows

Petunjuk

Untuk menampilkan gambar item, Anda harus menetapkan daftar gambar ke kontrol tampilan daftar. Untuk melakukan ini, gunakan pesan LVM_SETIMAGELIST atau makro yang sesuai ListView_SetImageList, menentukan apakah daftar gambar berisi ikon berukuran penuh, ikon kecil, atau gambar status. Untuk mengambil handel ke daftar gambar yang saat ini ditetapkan ke kontrol tampilan daftar, gunakan pesan LVM_GETIMAGELIST. Anda dapat menggunakan fungsi GetSystemMetrics untuk menentukan dimensi yang sesuai untuk ikon berukuran penuh dan kecil.

Dalam contoh kode C++ berikut, fungsi yang ditentukan aplikasi terlebih dahulu membuat daftar gambar lalu menetapkannya ke kontrol tampilan daftar.

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

Referensi Kontrol Tampilan Daftar

Tentang Kontrol Tampilan Daftar

Menggunakan Kontrol Tampilan Daftar