WM_GETDLGCODE メッセージ

コントロールに関連付けられているウィンドウ プロシージャに送信されます。 既定では、システムはコントロールに対するすべてのキーボード入力を処理します。システムは、特定の種類のキーボード入力をダイアログ ボックス ナビゲーション キーとして解釈します。 この既定の動作をオーバーライドするために、コントロールは WM_GETDLGCODE メッセージに応答して、それ自体を処理する入力の種類を示すことができます。

#define WM_GETDLGCODE                   0x0087

パラメーター

wParam

ユーザーが押した仮想キー。Windows にこの通知の発行を求めるメッセージが表示されます。 ハンドラーは、これらのキーを選択的に処理する必要があります。 たとえば、ハンドラーは VK_RETURN を受け入れて処理しますが、 VK_TAB を所有者ウィンドウに委任します。 値の一覧については、「 仮想キー コード」を参照してください。

lParam

MSG 構造体へのポインター (システムがクエリを実行している場合は NULL)。

戻り値

戻り値は、アプリケーションが処理する入力の種類を示す、次の 1 つ以上の値です。

リターン コード/値 説明
DLGC_BUTTON
0x2000
ボタン。
DLGC_DEFPUSHBUTTON
0x0010
既定のプッシュ ボタン。
DLGC_HASSETSEL
0x0008
メッセージをEM_SETSEL します。
DLGC_RADIOBUTTON
0x0040
ラジオボタン。
DLGC_STATIC
0x0100
静的コントロール。
DLGC_UNDEFPUSHBUTTON
0x0020
既定以外のプッシュ ボタン。
DLGC_WANTALLKEYS
0x0004
すべてのキーボード入力。
DLGC_WANTARROWS
0x0001
方向キー。
DLGC_WANTCHARS
0x0080
メッセージをWM_CHAR します。
DLGC_WANTMESSAGE
0x0004
すべてのキーボード入力 (アプリケーションは MSG 構造体のこのメッセージをコントロールに渡します)。
DLGC_WANTTAB
0x0002
TAB キー。

解説

DefWindowProc 関数は常に、WM_GETDLGCODE メッセージに応答して 0 を返しますが、定義済みのコントロール クラスのウィンドウ プロシージャは、各クラスに適したコードを返します。

WM_GETDLGCODE メッセージと戻り値は、ユーザー定義のダイアログ ボックス コントロールまたはサブクラス化によって変更された標準コントロールでのみ役立ちます。

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Winuser.h (Windows.h を含む)

関連項目

参照

DefWindowProc

EM_SETSEL

Msg

Wm_char

概念

ダイアログ ボックス