2012-06-20 9 views

答えて

5

ShowWindowウィンドウを再描画しません。 UpdateWindowを呼び出すと、WM_PAINTメッセージがウィンドウに送信され、そのメッセージが再ペイントされます。

7

これはまったく必要ありません。あなたのウィンドウはそれなしでうまくペイントします。

ウィンドウを作成した後で、メッセージループに入る前にプログラムが大量に実行されると、わずかなメリットがあります。ユーザーには何かがあります。スプラッシュスクリーンはより典型的なアプローチです。

4

通常、メッセージキューが空の場合にのみ、WM_PAINTが送信されます。通常の状況下ではこれで十分であり、実際には不必要な再描画を多く最適化します。キュー内のメッセージは、しばしばウィンドウの一部を無効にすることがあり、結果的には別のペイントになるアプリケーション状態を変更することになる(そのため、ユーザーは新しいアプリケーション状態を見る)。したがって、このようなすべてのメッセージが処理された後に再描画が行われ、システムは新しいウィンドウの内容が一定の時間有効であると考えます(まだ別のメッセージがキューに入るまで)。あなたはすぐにWM_PAINTを強制する必要があり、上記のロジックをバイパス場合

ただし、UpdateWindow()を呼び出すことによって、(無効領域がある場合)WM_PAINTを送る強制します。