読者です 読者をやめる 読者になる 読者になる

VizCommand #8 ウィンドウリストアイテムの子ウィンドウのサイズをウィンドウリストアイテムのサイズに応じて変化させる.

ウィンドウリストアイテムの子ウィンドウを配置したら、ウィンドウサイズを変えてもサイズを維持するという場合もあるが、変更後のサイズに追随したいというのもあるだろう・・・。
今回は、ウィンドウリストアイテムに比べ、ひとまわり小さい子ウィンドウを配置し、ウィンドウサイズに応じて変化させる・・・。

WindowListItemからWS_BORDERは外した・・・。
というのも、アイテムの高さを同じ値に維持したい場合に、

アイテム自身の高さをセットしてMoveWindowすることで、高さを維持するようにしているが、

ここでのcyはクライアントサイズなのでWS_BORDERだとひとまわり小さい値になる・・・。
これが繰り返されると、ウィンドウをリサイズするたびに高さの数値まで小さくなってしまう・・・。
なのでWS_BORDERは外した・・・。

その代わり、青で矩形を描画して、アイテムの領域をわかりやすくした・・・。

EditPanel追加はAddEditにまとめ、

こんな感じに・・・。

削除は、

DeleteEditで、

で肝心のウィンドウサイズの追随だが、

アイテムの横幅がウィンドウの横幅に追随するのはOnSizeの後なので、そのOnSizeでアイテムの子ウィンドウも横幅を追随させる・・・。
今回はぴったりじゃなくて、外枠より50pxぐらいひとまわり小さい子ウィンドウを置く・・・。

f:id:BG1:20161116002057p:plain

アイテムよりひとまわり小さいウィンドウがでてきたが、

f:id:BG1:20161116002122p:plain

こうやって、横幅を狭くしても、50pxの外枠は維持され、ウィンドウのリサイズに追随している・・・。

https://github.com/bg1bgst333/VizCommand/tree/develop/winapi/win32_blank/vs14/src/VizCommand