CBasePropertyPage.OnReceiveMessage-Methode
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Die OnReceiveMessage
-Methode wird aufgerufen, wenn das Dialogfeld eine Nachricht empfängt.
Syntax
virtual INT_PTR OnReceiveMessage(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
Parameter
-
hwnd
-
Handle zum Fenster.
-
uMsg
-
Message (Nachricht):
-
wParam
-
Erster Nachrichtenparameter.
-
lParam
-
Zweiter Nachrichtenparameter.
Rückgabewert
Gibt einen booleschen Wert zurück. Die Dialogprozedur gibt diesen Wert zurück. Weitere Informationen finden Sie in der Dokumentation zum Platform SDK.
Bemerkungen
Die Basisklassenimplementierung ruft DefWindowProc auf. Überschreiben Sie diese Methode, um Nachrichten zu behandeln, die sich auf die Dialogsteuerelemente beziehen. Wenn die überschreibende Methode keine bestimmte Nachricht verarbeitet, sollte sie die Basisklassenmethode aufrufen.
Wenn der Benutzer eigenschaften über die Dialogsteuerelemente ändert, legen Sie das Flag CBasePropertyPage::m_bDirty auf TRUE fest. Rufen Sie dann die IPropertyPageSite::OnStatusChange-Methode auf dem Zeiger CBasePropertyPage::m_pPageSite auf, um den Frame zu informieren.
Beispiele
Im folgenden Beispiel wird auf einen Schaltflächenklick reagiert, indem eine Membervariable aktualisiert wird, die in der abgeleiteten Klasse definiert wird. Dieses Beispiel zeigt auch eine Hilfsfunktion zum Festlegen der modifiziert status der Eigenschaftenseite.
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);
}
}
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|