LockWindowUpdate 関数 (winuser.h)
LockWindowUpdate 関数は、指定したウィンドウでの描画を無効または有効にします。 一度にロックできるウィンドウは 1 つだけです。
構文
BOOL LockWindowUpdate(
[in] HWND hWndLock
);
パラメーター
[in] hWndLock
図面を無効にするウィンドウ。 このパラメーターが NULL の場合、ロックされたウィンドウでの描画が有効になります。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合、戻り値は 0 で、エラーが発生したか、別のウィンドウが既にロックされていることを示します。
注釈
LockWindowUpdate 関数の目的は、ウィンドウ自体からの干渉なしに、ドラッグ/ドロップフィードバックをウィンドウ上に描画できるようにするためです。 意図は、フィードバックが描画されたときにウィンドウがロックされ、フィードバックが完了したときにロック解除されるということです。 LockWindowUpdate は、ウィンドウの再描画の汎用抑制を目的としたものではありません。 特定のウィンドウの再描画を無効にするには、 WM_SETREDRAW メッセージを使用します。
ロックされたウィンドウ (またはロックされた子ウィンドウ) を持つアプリケーションが GetDC、 GetDCEx、または BeginPaint 関数を呼び出すと、呼び出された関数は、可視領域が空のデバイス コンテキストを返します。 これは、アプリケーションが LockWindowUpdate を呼び出してウィンドウのロックを解除し、hWndLock に NULL 値を指定するまで発生します。
アプリケーションがロックされたウィンドウ内で描画しようとすると、試行された操作の範囲が外接する四角形に記録されます。 ウィンドウのロックが解除されると、この外接する四角形内の領域が無効になり、最終的な WM_PAINT メッセージが以前にロックされたウィンドウとその子ウィンドウに送信されます。 ウィンドウの更新がロックされている間に図面が発生しなかった場合、領域は無効になりません。
LockWindowUpdate は、指定したウィンドウを非表示にせず、WS_VISIBLE スタイル ビットをクリアしません。
ロックされたウィンドウは移動できません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-draw-l1-1-2 (Windows 10 バージョン 10.0.10240 で導入) |