CBasePropertyPage.OnReceiveMessage 方法
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
当 OnReceiveMessage
对话框收到消息时,将调用 方法。
语法
virtual INT_PTR OnReceiveMessage(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
参数
-
hwnd
-
窗口的句柄。
-
uMsg
-
消息。
-
wParam
-
第一个消息参数。
-
lParam
-
第二个消息参数。
返回值
返回一个布尔值。 对话框过程返回此值;有关详细信息,请参阅平台 SDK 文档。
备注
基类实现调用 DefWindowProc。 重写此方法以处理与对话框控件相关的消息。 如果重写方法不处理特定消息,则应调用基类方法。
如果用户通过对话框控件更改任何属性,请将 CBasePropertyPage::m_bDirty 标志设置为 TRUE。 然后在 CBasePropertyPage:: m_pPageSite 指针上调用 IPropertyPageSite:: OnStatusChange 方法以通知帧。
示例
下面的示例通过更新成员变量来响应按钮单击,该变量假定是在派生类中定义的。 此示例还演示用于设置属性页的脏状态的帮助程序函数。
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);
}
}
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|