WM_CHANGEUISTATE メッセージ

アプリケーションは UI の状態を変更する必要があることを示すために WM_CHANGEUISTATE を送信します。

#define WM_CHANGEUISTATE                0x0127

パラメーター

wParam

下位ワードは、実行されるべきアクションを指定します。 このメンバーは、次の値の 1 つを指定できます。

Value 意味
UIS_CLEAR
2
上位ワードで指定された UI 状態フラグをクリアする必要があります。
UIS_INITIALIZE
3
上位ワードで指定された UI 状態フラグは、最後の入力イベントに基づいて変更する必要があります。 詳細については、「解説」を参照してください。
UIS_SET
1
上位ワードで指定された UI 状態フラグを設定する必要があります。

上位ワードは、影響を受ける UI 状態要素またはコントロールのスタイルを指定します。 このメンバーは、次の値の 1 以上いずれかです。

Value 意味
UISF_ACTIVE
0x4
コントロールは、アクティブなコントロールに使用されるスタイルで描画する必要があります。
UISF_HIDEACCEL
0x2
キーボード アクセラレータは非表示になります。
UISF_HIDEFOCUS
0x1
フォーカス インジケーターは非表示になります。

lParam

このパラメーターは使用されないので、0 にする必要があります。

解説

ウィンドウは、同じ階層内のすべてのウィンドウの UI 状態要素を変更する必要がある場合、それ自身またはその親にこのメッセージを送信する必要があります。 ウィンドウ ツリー全体が一貫した UI 状態になるように、ウィンドウ プロシージャは DefWindowProc にこのメッセージを処理させる必要があります。 トップレベル ウィンドウは、WM_CHANGEUISTATE メッセージを受信すると、同じパラメーターを持つ WM_UPDATEUISTATE メッセージをすべての子ウィンドウに送信します。 システムは、WM_UPDATEUISTATE メッセージを処理すると、UI 状態の変更を行います。

wParam の下位ワードが UIS_INITIALIZE である場合、システムは最後の入力イベントに基づいて UI 状態と共に WM_UPDATEUISTATE を送信します。 たとえば、最後の入力がマウスから来ていた場合、システムはキーボード キューを非表示にします。そして、最後の入力がキーボードから来ていた場合、システムはキーボード キューを表示します。WM_CHANGEUISTATE を処理した結果の状態が古い状態と同じである場合、DefWindowProc はこのメッセージを送信しません。

要件

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

関連項目

リファレンス

HIWORD

LOWORD

WM_QUERYUISTATE

Conceptual

キーボード アクセラレータ