Метод 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);
}
}
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|