[ttssh2-dev 418] Re: DPIに合わせてアイコンを変更

Back to archive index
matsuo zmats****@gmail*****
2022年 5月 29日 (日) 01:22:07 JST


松尾です。

 > > 確かに IsIconic() は NT 3.5 固有のようなので、消してしまっていい
 > > ように思います。

最小化時の WM_PAINT メッセージについて次のページを見つけました。
https://docs.microsoft.com/en-us/windows/win32/gdi/drawing-a-minimized-window

大雑把にまとめると
1. 
RegisterClass()時にアイコンを未設定だと、最小化時にもWM_PAINTメッセージが発生する
2. この時に描画することで最小化したウィンドウ(アイコンの中身?)を描画できる

テストしたところ(環境はWindows10)
- アイコンを設定してもしなくても最小化時にWM_PAINTは発生する
   - カーソル点滅を停止しても発生していた
   - Tera Term 内で描画が発生する何か(InvalidateRect() 
など)行っているかもしれない
- 最小化時の描画はどこに行われているのかわからない
   - デスクトップの描画を担当している? exploror のあるなしに関わらず

今(Windows10)はタスクバーに収容されますが、
(explororが存在しないときは画面下部にタスクバー表示されます)
従来(NT3.5のころ,95より前?)は最小化したら、
今のデスクトップにファイルなどを置いた時のような
アイコンになっていたのではないでしょうか。

WM_SETICON でアイコンをセットしているので、
NT3.5でもうまい具合にアイコンが描画されるのではないだろうか、
ということで、消してしまおうかと思います。



ttssh2-dev メーリングリストの案内
Back to archive index