Метод CBasePropertyPage.OnReceiveMessage

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Метод OnReceiveMessage вызывается, когда диалоговое окно получает сообщение.

Синтаксис

virtual INT_PTR OnReceiveMessage(
   HWND   hwnd,
   UINT   uMsg,
   WPARAM wParam,
   LPARAM lParam
);

Параметры

hwnd

Дескриптор для окна.

uMsg

Message.

wParam

Параметр first message.

lParam

Второй параметр сообщения.

Возвращаемое значение

Возвращает логическое значение. Процедура dialog возвращает это значение; Дополнительные сведения см. в документации по пакету SDK для платформы.

Комментарии

Реализация базового класса вызывает DefWindowProc. Переопределите этот метод для обработки сообщений, связанных с элементами управления диалоговых окон. Если переопределяющий метод не обрабатывает определенное сообщение, он должен вызвать метод базового класса.

Если пользователь изменяет какие-либо свойства с помощью элементов управления диалоговых окон, установите для флага CBasePropertyPage::m_bDirty значение TRUE. Затем вызовите метод IPropertyPageSite::OnStatusChange для указателя CBasePropertyPage::m_pPageSite , чтобы сообщить кадру.

Примеры

В следующем примере выполняется реакция на нажатие кнопки путем обновления переменной-члена, которая, как предполагается, определена в производном классе. В этом примере также показана вспомогательная функция для задания состояния грязное страницы свойств.

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

Требования

Требование Значение
Заголовок
Cprop.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

См. также раздел

Класс CBasePropertyPage