[質問1]
screen命令、bgscr命令でウインドウが作成できますが、
内部では screen 0 がウインドウ・プロシージャがあるIDで、
ID が 1 以上のウインドウがモードレス・ダイアログと同じ
ウインドウと見て良いのでしょうか?
↑
つまり、screen 0 は必ず内部では存在していて、
このウインドウが他のウインドウを管理してるのか。
[質問2]
bgscr命令で作成されたウインドウを非表示にすることは可能ですが削除することは可能ですか?
現在、サイドバー・ランチャーを作成中で、ウインドウ構造を次のようにしてます。
screen 0(設定ダイアログに使う)
bgscr 1(サイドバーのウインドウ)
├bgscr 2(日付ペイン)
├bgscr 3(時計ペイン)
├bgscr 4(天気ペイン)
├bgscr 5(CPU使用率ペイン)
│ :
├bgscr 17(設定ペイン)
└bgscr 18(終了ペイン)
↑
上記の構造は、SetParent 関数で「bgscr 2」〜「bgscr 18」を「bgscr 1」の子ウインドウにしてます。
そして、起動後の設定でペイン数が「bgscr 10」までに減った時、
「bgscr 11」〜「bgscr 18」を削除したいのです。
これはウインドウのメモリを少しでも減らしたいという考えです。
現在の対策では、未使用のペイン・ウインドウのサイズを1×1ドットの大きさで非表示にしてます。
この方法以外でHSPのウインドウ管理のメモリ量を減らす方法ありますか?