WM_NOTIFY pesan

Dikirim oleh kontrol umum ke jendela induknya ketika suatu peristiwa telah terjadi atau kontrol memerlukan beberapa informasi.

Parameter

wParam

Pengidentifikasi kontrol umum yang mengirim pesan. Pengidentifikasi ini tidak dijamin unik. Aplikasi harus menggunakan hwndFrom atau idFrom dari anggota struktur NMHDR (diteruskan sebagai parameter lParam ) untuk mengidentifikasi kontrol.

lParam

Penunjuk ke struktur NMHDR yang berisi kode pemberitahuan dan informasi tambahan. Untuk beberapa pesan pemberitahuan, parameter ini menunjuk ke struktur yang lebih besar yang memiliki struktur NMHDR sebagai anggota pertamanya.

Nilai kembali

Nilai yang dikembalikan diabaikan kecuali untuk pesan pemberitahuan yang menentukan sebaliknya.

Keterangan

Tujuan pesan harus HWND dari induk kontrol. Nilai ini dapat diperoleh dengan menggunakan GetParent, seperti yang ditunjukkan dalam contoh berikut, di mana m_controlHwnd adalah HWND kontrol itu sendiri.

NMHDR nmh;
nmh.code = CUSTOM_SELCHANGE;    // Message type defined by control.
nmh.idFrom = GetDlgCtrlID(m_controlHwnd);
nmh.hwndFrom = m_controlHwnd;
SendMessage(GetParent(m_controlHwnd), 
    WM_NOTIFY, 
    nmh.idFrom, 
    (LPARAM)&nmh);

Aplikasi menangani pesan dalam prosedur jendela jendela induk, seperti yang ditunjukkan dalam contoh berikut, yang menangani pesan pemberitahuan yang dikirim oleh kontrol kustom dalam contoh sebelumnya.

INT_PTR CALLBACK DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
    case WM_NOTIFY:
        switch (((LPNMHDR)lParam)->code)
        {
        case CUSTOM_SELCHANGE:
            if (((LPNMHDR)lParam)->idFrom == IDC_CUSTOMLISTBOX1)
            {
                ...   // Respond to message.
                return TRUE;
            }
            break; 
        ... // More cases on WM_NOTIFY switch.
        break;
        }
    ...  // More cases on message switch.
    }
    return FALSE;
}

Beberapa pemberitahuan, terutama yang telah berada di API untuk waktu yang lama, dikirim sebagai pesan WM_COMMAND . Untuk informasi selengkapnya, lihat Mengontrol Pesan.

Jika handler pesan berada dalam prosedur kotak dialog, Anda harus menggunakan fungsi SetWindowLong dengan DWL_MSGRESULT untuk mengatur nilai yang dikembalikan.

Untuk Windows Vista dan sistem yang lebih baru, pesan WM_NOTIFY tidak dapat dikirim antar proses.

Banyak pemberitahuan tersedia dalam format ANSI dan Unicode. Jendela yang mengirim pesan WM_NOTIFY menggunakan pesan WM_NOTIFYFORMAT untuk menentukan format mana yang harus digunakan. Lihat WM_NOTIFYFORMAT untuk diskusi lebih lanjut.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2003 [hanya aplikasi desktop]
Header
Winuser.h

Lihat juga

WM_NOTIFYFORMAT