CBasePropertyPage.OnReceiveMessage 方法

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

要求

要求 Value
标头
Cprop.h (包括 Streams.h)

Strmbase.lib (零售版) ;
Strmbasd.lib (调试生成)

另请参阅

CBasePropertyPage 类