ひとりも見捨てないことを、あきらめない

学校教育、社会教育、数学、技術家庭科、Youtube、EdTech、ICT、プログラミング、その他

やったー。成功(●'◡'●)。(●'◡'●)。 12/08 日

 画面のチラチラが無くならない件について、いろいろと試したり、文献を読んだりして、「とりあえず」解決方法を見つけました。

 InvalidateRect 関数で、「画面描写が必要だよー」というコマンドを送るのですが、マニュアルをよくよく読んでみると、

BOOL InvalidateRect(HWND hWnd, LPRECT lprec, BOOL bErase);
hWnd : ウインドウのハンドル
lprec : RECTのポインタ.NULLなら全体
bErase : TRUEなら更新領域を背景色で初期化, FALSEなら現在の状態から上書き描画

となっていて、どうやら三番目のパラメータを TRUE にしておくと背景色で塗りつぶしてしまって真っ白にしてしまうらしい。そこで、プログラムを、

 今まで InvalidateRect(hWnd, NULL, TRUE);

 改良版 InvalidateRect(hWnd, NULL, FALSE);

という具合に修正してみたところ、チラチラがなくなりました。これで、うまくいくように思います。

f:id:takase_hiroyuki:20191123160855p:plain