>2■「ウィンドウ」の「重ねて表示」
> 複数のウィンドウを開いたとき
> 全てのウィンドウを”見やすく”するために順に並べるわけだが、
> 肝心のキャプションが隠れてしまうウィンドウもあり、きれいに並ばない。
> また、タスクバーが上にあると、タスクバーの下にウィンドウが隠れてしまう。
ぜんさんのコードを参考にして直してみました.
http://members.at.infoseek.co.jp/sakura_editor/snapshot/sakura_2003-03-20_test1.zipバイナリ+diff差分です.
うちはWinXPなのですが,ぜんさんの方法でもやはり途中のウィンドウが上に来たりしていましたので,ウィンドウを並べるところは別の方法で実装してあります.SetWindowPosが指定ウィンドウの「下」に配置する機能を提供しているのに必死に下から上に並べようとするから無理があるのではないかと思い,一旦すべてのウィンドウの座標を計算したあとで一番上から順番に下に向かって配置するようにしてみました.
ぜんさんの2周目以降右にずらしていく機能も取り込んでみましたが,2周目に行くと1周目のアイコンが隠れてしまいますよね.
左上から各数値(数値の大きいほど上)がウィンドウのアイコン位置として
15
→26
→→37
→→→48
と並び替えられたところを考えてみると,2は5の下に,3は6の下に入ってしまいます.
12
→34
→→56
→→→78
の方が(Windows標準とは違いますが)アイコンがすべて見えていいんではないかと思いますが,どうでしょう?