Metode CBasePropertyPage.OnReceiveMessage
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine dan Audio/Video Capture di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Metode OnReceiveMessage
ini dipanggil ketika kotak dialog menerima pesan.
Sintaks
virtual INT_PTR OnReceiveMessage(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
Parameter
-
hwnd
-
Tangani ke jendela.
-
uMsg
-
Pesan.
-
wParam
-
Parameter pesan pertama.
-
lParam
-
Parameter pesan kedua.
Mengembalikan nilai
Mengembalikan nilai Boolean. Prosedur dialog mengembalikan nilai ini; untuk informasi selengkapnya, lihat dokumentasi Platform SDK.
Keterangan
Implementasi kelas dasar memanggil DefWindowProc. Ambil alih metode ini untuk menangani pesan yang terkait dengan kontrol dialog. Jika metode penimpaan tidak menangani pesan tertentu, metode tersebut harus memanggil metode kelas dasar.
Jika pengguna mengubah properti apa pun melalui kontrol dialog, atur bendera CBasePropertyPage::m_bDirty ke TRUE. Kemudian panggil metode IPropertyPageSite::OnStatusChange pada pointer CBasePropertyPage::m_pPageSite untuk menginformasikan bingkai.
Contoh
Contoh berikut merespons klik tombol dengan memperbarui variabel anggota, yang diasumsikan ditentukan dalam kelas turunan. Contoh ini juga menunjukkan fungsi pembantu untuk mengatur status kotor halaman properti.
INT_PTR CMyProp::OnReceiveMessage(HWND hwnd,
UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_COMMAND:
if (LOWORD(wParam) == IDC_BUTTON1)
{
m_lNewVal = GetDlgItemInt(m_Dlg, IDC_EDIT1, 0, TRUE);
SetDirty();
return (INT_PTR)TRUE;
}
break;
} // switch
// Did not handle the message.
return CBasePropertyPage::OnReceiveMessage(hwnd, uMsg, wParam, lParam);
}
// Helper function to update the dirty status.
void CMyProp::SetDirty()
{
m_bDirty = TRUE;
if (m_pPageSite)
{
m_pPageSite->OnStatusChange(PROPPAGESTATUS_DIRTY);
}
}
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|