CBasePropertyPage.OnReceiveMessage メソッド
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
OnReceiveMessage
ダイアログ ボックスがメッセージを受信すると、 メソッドが呼び出されます。
構文
virtual INT_PTR OnReceiveMessage(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
パラメーター
-
hwnd
-
ウィンドウへのハンドル。
-
uMsg
-
Message.
-
wParam
-
最初のメッセージ パラメーター。
-
lParam
-
2 番目のメッセージ パラメーター。
戻り値
ブール値を返します。 ダイアログ プロシージャは、この値を返します。詳細については、プラットフォーム 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);
}
}
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|