Bagikan melalui


Cara Membuat Kontrol Tampilan Daftar

Topik ini menunjukkan cara membuat kontrol tampilan daftar. Untuk membuat kontrol tampilan daftar, Anda menggunakan fungsi CreateWindow atau CreateWindowEx dan menentukan kelas jendela WC_LISTVIEW.

Kontrol tampilan daftar juga dapat dibuat sebagai bagian dari templat kotak dialog. Anda harus menentukan WC_LISTVIEW sebagai nama kelas. Untuk menggunakan kontrol tampilan daftar sebagai bagian dari templat kotak dialog, Anda harus memanggil InitCommonControls atau InitCommonControlsEx sebelum membuat instans kotak dialog.

Apa yang perlu Anda ketahui

Teknologi

Prasyarat

  • C/C++
  • Pemrograman Antarmuka Pengguna Windows

Petunjuk

Pertama-tama daftarkan kelas jendela dengan memanggil fungsi InitCommonControlsEx dan tentukan bit ICC_LISTVIEW_CLASSES dalam struktur INITCOMMONCONTROLSEX yang menyertainya. Ini memastikan bahwa DLL kontrol umum dimuat. Selanjutnya, gunakan fungsi CreateWindow atau CreateWindowEx dan tentukan kelas jendela WC_LISTVIEW .

Catatan

Secara default, kontrol tampilan daftar menggunakan font judul ikon. Namun, Anda dapat menggunakan pesan WM_SETFONT untuk menentukan font yang akan digunakan untuk teks. Anda harus mengirim pesan ini sebelum menyisipkan item apa pun. Kontrol menggunakan dimensi font yang ditentukan oleh pesan WM_SETFONT untuk menentukan penspasian dan tata letak. Anda juga dapat menyesuaikan font untuk setiap item. Untuk informasi selengkapnya, lihat Gambar Kustom.

 

Contoh kode C++ berikut membuat kontrol tampilan daftar dalam tampilan laporan.

// CreateListView: Creates a list-view control in report view.
// Returns the handle to the new control
// TO DO:  The calling procedure should determine whether the handle is NULL, in case 
// of an error in creation.
//
// HINST hInst: The global handle to the application instance.
// HWND  hWndParent: The handle to the control's parent window. 
//
HWND CreateListView (HWND hwndParent) 
{
    INITCOMMONCONTROLSEX icex;           // Structure for control initialization.
    icex.dwICC = ICC_LISTVIEW_CLASSES;
    InitCommonControlsEx(&icex);

    RECT rcClient;                       // The parent window's client area.

    GetClientRect (hwndParent, &rcClient); 

    // Create the list-view window in report view with label editing enabled.
    HWND hWndListView = CreateWindow(WC_LISTVIEW, 
                                     L"",
                                     WS_CHILD | LVS_REPORT | LVS_EDITLABELS,
                                     0, 0,
                                     rcClient.right - rcClient.left,
                                     rcClient.bottom - rcClient.top,
                                     hwndParent,
                                     (HMENU)IDM_CODE_SAMPLES,
                                     g_hInst,
                                     NULL); 

    return (hWndListView);
}

Biasanya, aplikasi tampilan daftar memungkinkan pengguna untuk mengubah dari satu tampilan ke tampilan lain.

Contoh kode C++ berikut mengubah gaya jendela tampilan daftar, yang pada gilirannya mengubah tampilan.

// SetView: Sets a list-view's window style to change the view.
// hWndListView: A handle to the list-view control. 
// dwView:       A value specifying the new view style.
//
VOID SetView(HWND hWndListView, DWORD dwView) 
{ 
    // Retrieve the current window style. 
    DWORD dwStyle = GetWindowLong(hWndListView, GWL_STYLE); 
    
    // Set the window style only if the view bits changed.
    if ((dwStyle & LVS_TYPEMASK) != dwView) 
    {
        SetWindowLong(hWndListView,
                      GWL_STYLE,
                      (dwStyle & ~LVS_TYPEMASK) | dwView);
    }               // Logical OR'ing of dwView with the result of 
}                   // a bitwise AND between dwStyle and 
                    // the Unary complement of LVS_TYPEMASK.

Referensi Kontrol Tampilan Daftar

Tentang Kontrol Tampilan Daftar

Menggunakan Kontrol Tampilan Daftar