関数の CreateDialog および DialogBox ファミリで使用されるアプリケーション定義のコールバック関数。 モーダル ダイアログ ボックスまたはモードレス ダイアログ ボックスに送信されたメッセージを処理します。 DLGPROC 型は、このコールバック関数へのポインターを定義します。 DialogProc は、アプリケーション定義関数名のプレースホルダーです。
構文
DLGPROC Dlgproc;
INT_PTR Dlgproc(
HWND unnamedParam1,
UINT unnamedParam2,
WPARAM unnamedParam3,
LPARAM unnamedParam4
)
{...}
パラメーター
unnamedParam1
型: HWND
ダイアログ ボックスのハンドル。 通常、このパラメーターの名前は hWnd です。
unnamedParam2
型: UINT
メッセージ。 通常、このパラメーターの名前は uMsg です。
unnamedParam3
型: WPARAM
追加のメッセージ固有の情報。 通常、このパラメーターの名前は wParam です。
unnamedParam4
型: LPARAM
追加のメッセージ固有の情報。 通常、このパラメーターの名前は lParam です。
戻り値
型: INT_PTR
通常、ダイアログ ボックス プロシージャは、メッセージを処理した場合は TRUE を返し、処理しなかった場合は FALSE を 返す必要があります。 ダイアログ ボックス プロシージャが FALSE を返す場合、ダイアログ マネージャーはメッセージに応答して既定のダイアログ操作を実行します。
ダイアログ ボックス プロシージャが特定の戻り値を必要とするメッセージを処理する場合、ダイアログ ボックス プロシージャは TRUE を返す直前に SetWindowLong(hwndDlg, DWL_MSGRESULT, lResult) を呼び出して目的の戻り 値を設定する必要があります。 TRUE を返す直前に SetWindowLong を呼び出す必要があることに注意 してください。これを行うと、入れ子になったダイアログ ボックス メッセージによって DWL_MSGRESULT 値が上書きされる可能性があります。
次のメッセージは、上記の一般的な規則の例外です。 戻り値のセマンティクスの詳細については、特定のメッセージのドキュメントを参照してください。
- WM_CHARTOITEM
- WM_COMPAREITEM
- WM_CTLCOLORBTN
- WM_CTLCOLORDLG
- WM_CTLCOLOREDIT
- WM_CTLCOLORLISTBOX
- WM_CTLCOLORSCROLLBAR
- WM_CTLCOLORSTATIC
- WM_INITDIALOG
- WM_QUERYDRAGICON
- WM_VKEYTOITEM
注釈
注
パラメーターは、 typedef INT_PTR (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);という名前を持たないヘッダーで定義されます。 したがって、構文ブロックでは、 unnamedParam1 - unnamedParam4として一覧表示されます。 これらのパラメーターには、アプリ内の任意の名前を付けることができます。 ただし、通常はパラメーターの説明に示すように名前が付けられます。
ダイアログ ボックスのプロシージャは、ダイアログ ボックスのダイアログ ボックス クラスを使用する場合にのみ使用する必要があります。 これは既定のクラスであり、ダイアログ ボックス テンプレートで明示的なクラスが指定されていない場合に使用されます。 ダイアログ ボックス プロシージャはウィンドウ プロシージャに似ていますが、 DefWindowProc 関数を呼び出して不要なメッセージを処理することはできません。 不要なメッセージは、ダイアログ ボックス ウィンドウ プロシージャによって内部的に処理されます。
Requirements
| Requirement | 価値 |
|---|---|
| サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
| ターゲット プラットフォーム の |
ウィンドウズ |
| Header | winuser.h (Windows.h を含む) |
こちらも参照ください
概念的
リファレンス