WM_GETDLGCODE メッセージ
コントロールに関連付けられているウィンドウ プロシージャに送信されます。 既定では、システムはコントロールに対するすべてのキーボード入力を処理します。システムは、特定の種類のキーボード入力をダイアログ ボックス ナビゲーション キーとして解釈します。 この既定の動作をオーバーライドするために、コントロールは WM_GETDLGCODE メッセージに応答して、それ自体を処理する入力の種類を示すことができます。
#define WM_GETDLGCODE 0x0087
パラメーター
-
wParam
-
ユーザーが押した仮想キー。Windows にこの通知の発行を求めるメッセージが表示されます。 ハンドラーは、これらのキーを選択的に処理する必要があります。 たとえば、ハンドラーは VK_RETURN を受け入れて処理しますが、 VK_TAB を所有者ウィンドウに委任します。 値の一覧については、「 仮想キー コード」を参照してください。
-
lParam
-
MSG 構造体へのポインター (システムがクエリを実行している場合は NULL)。
戻り値
戻り値は、アプリケーションが処理する入力の種類を示す、次の 1 つ以上の値です。
リターン コード/値 | 説明 |
---|---|
|
ボタン。 |
|
既定のプッシュ ボタン。 |
|
メッセージをEM_SETSEL します。 |
|
ラジオボタン。 |
|
静的コントロール。 |
|
既定以外のプッシュ ボタン。 |
|
すべてのキーボード入力。 |
|
方向キー。 |
|
メッセージをWM_CHAR します。 |
|
すべてのキーボード入力 (アプリケーションは MSG 構造体のこのメッセージをコントロールに渡します)。 |
|
TAB キー。 |
解説
DefWindowProc 関数は常に、WM_GETDLGCODE メッセージに応答して 0 を返しますが、定義済みのコントロール クラスのウィンドウ プロシージャは、各クラスに適したコードを返します。
WM_GETDLGCODE メッセージと戻り値は、ユーザー定義のダイアログ ボックス コントロールまたはサブクラス化によって変更された標準コントロールでのみ役立ちます。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|