InvalidateRect(NULL)

[戻る]
田中美佐 2001/11/29(木) 19:33:44
すみません度々質問です。

RedrawWindow();の代わりに
InvalidateRect(NULL); 
を利用しても良いとある本に掲載されていたので、何の疑問も持たず利用していました。

しかし、なぜ NULL が引数に用いられているのかが気になり、リファレンスを読んだのですが
さっぱり意味がわかりませんでした。

クライアント領域全体が更新リージョンに加えられます。とありました。

どなたか教えて頂けないでしょうか。度々すみません。

toru [E-Mail] [HomePage] 2001/11/29(木) 20:38:57
> クライアント領域全体が更新リージョンに加えられます。とありました。
そのままなのですが...

まあ、例えるなら

InvalidateRect(NULL);

↓

RECT rc = { 0 };
GetClientRect(&rc);
InvalidateRect(&rc);

となると考えてもOKです。
(あくで例えなんで実際はこうはなりませんが)

田中美佐 2001/12/06(木) 15:37:41
だいぶお返事おくれてすみません。toruさんお返事ありがとうございます。
いろいろ調べているんですが、うーん よく分かりません。
私のもともとの知識がすくなすぎて・・・ごめんなさい

Bun 2001/12/06(木) 16:49:05
更新リージョンがわからないの?

更新リージョンとは、 ウィンドウのクライアント領域のうち、 再描画しなければならない部分ですよ。(^^;

田中美佐 2001/12/07(金) 08:20:42
Bunさん、お返事ありがとうございます。

ということは、引数にNULLを指定するとウィンドウ全てが、再描画される という理解でよろしいのでしょうか?

ウィンドウのクライアント領域全体ってことは プログラムを実行した時に表示されるウィンドウ全体っていうことですよね?

sugar 2001/12/07(金) 09:45:00
> ウィンドウのクライアント領域全体ってことは プログラムを実行した時に表示されるウィンドウ全体っていうことですよね?
>
クライアント領域とは一般に、
アプリケーションがテキストやグラフィックなどの出力を表示するウィンドウ部分で、
ウィンドウからタイトルバー、メニューバー、ツールバー、ステータスバー等を除外した部分を指します。

田中美佐 2001/12/07(金) 10:56:59
sugarさん、どうもお返事ありがとうございます。

ウィンドウの白い部分ということですね。ありがとうございます。
自分も勉強が足りないので頑張ります。

toruさん、Bun さん、sugarさん いろいろとありがとうございました。

古いスレッドには追加発言できません。