お世話になります。
ツリーコントロールをCFormViewに貼り付けているのですが、
CFormViewのウィンドウのサイズを変えたときに
ツリーコントロールのもサイズ(横はそのままで、ウィンドウが下に伸びた分、追随する
ようにしたい)を変えたいのですが、どのようにやるのでしょうか?
(設定で自動に追随するようにできたりするのでしょうか?)
Belutionで度々同様の質問の際に案内してますが、CodeProjectにある
CDlgAnchor等を使用すると手っ取り早いカモしれません。
>> Easy dialog control resizer
> http://www.codeproject.com/dialog/dlgresizearticle.asp
# ただし、CodeのダウンロードにはE-Mail登録が必要です。
サンプル上はCDialog派生のターゲットしかなかったと思いますが、
CView派生であれば、
1. OnInitalUpdate()で、アンカーを打ちたいコントロールを登録
2. OnSize()でCDlgAnchor::OnSize()を呼び出し
だけで事足りると思います。
他にも、「MFC レイアウトマネージャ」あたりでググると情報が出てくる
カモしれません。
MFC標準にはそんな便利な機能は無いのでMFCの範囲だけで何とかすると言う話なら
自前でゴリゴリやるしか無いと思います。
設定をすればOKと言うような便利な物はありません。
具体的にはCFormViewのOnSizeで変更されたサイズに合わせてコントロールのリサイズや
再配置を自分でする事になります。計算その物は難しいものではなく、単にコントロールの
位置を何を基準に配置したいかでサイズを変えたり、位置を動かしたりするだけです。
コントロールもウインドウですからウインドウのサイズを変えたり位置を動かすのと
なんら変わりは有りません。
で、MFC以外のものを導入してもOKなら玲音さんが紹介されているようなものを導入するのも
一つの方法だと思います。
CDlgAnchorがどの程度の配置に対応しているのかが分からないので使えるかどうかは
御自分で確認する必要があると思いますけれど。