- What does LockWindowUpdate do?
- How is LockWindowUpdate meant to be used?
- With what operations is LockWindowUpdate meant to be used?
- With what operations is LockWindowUpdate not meant to be used?
- Final remarks on LockWindowUpdate
てきとうな要約:
- LockWindowUpdateはシステム(デスクトップ)全体で1つのウィンドウしかロックできない。
- LockWindowUpdateはドラッグ操作(アイテムのドラッグアンドドロップやウィンドウのドラッグ)でウィンドウの描画更新を止めるときに使う(本来はそのために存在している)。
- LockWindowUpdateで描画更新を止めているウィンドウに追加的に描画を行う必要があるときはGetDCEx (ja)のflagsにDCX_LOCKWINDOWUPDATEを含めて作成したDCに描画する。
- それ以外の状況ではLockWindowUpdateではなくWM_SETREDRAWを使用するべきである。
- LockWindowUpdateはWindows 3.1(Win16)のリソースが限定されていた時代に作られたもので、いまどきはDirectXオーバレイ、リージョン化ウィンドウ、レイヤードウィンドウ、アルファブレンド、デスクトップコンポジションといったものがあるのだから、これらでエフェクトをかけるほうが多機能だし望ましい。
The Old New Thingは書籍(日本語訳はWindowsプログラミングの極意)にもなっていますが、MSDNのリファレンスには載っていない色々な"理由"を解説してくれる素晴らしいblogです(英語なので厳しいですが…)。
0 件のコメント:
コメントを投稿