CBasePropertyPage.OnReceiveMessage-Methode
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 Meldungsparameter.
-
lParam
-
Zweiter Meldungsparameter.
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.
Hinweise
Die Basisklassenimplementierung ruft DefWindowProc auf. Überschreiben Sie diese Methode, um Meldungen zu behandeln, die sich auf die Dialogsteuerelemente beziehen. Wenn die überschreibende Methode eine bestimmte Nachricht nicht behandelt, 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 für den CBasePropertyPage::m _ pPageSite-Zeiger auf, um den Frame zu informieren.
Beispiele
Im folgenden Beispiel wird auf einen Schaltflächenklick reagiert, indem eine Membervariable aktualisiert wird, von der angenommen wird, dass sie in der abgeleiteten Klasse definiert ist. Dieses Beispiel zeigt auch eine Hilfsfunktion zum Festlegen des geänderten 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 |
|