タブコントロールにダイアログを貼り付けてその上にコントロールを配置するプログラムを書いてます。
(ベースはFormView・SDI VC++6)
タブコントロールはOnSizeでベースのサイズ変更に対応しているのですがその上に張ってあるダ
イアログも一緒にサイズ変更するにはどうしたらよいか教えてください。
イメージとしては
FormView
CTabCtrl -----OnSizeでFormViewに連動
dialogA -----ここをCTabCTrlのサイズ変更に連動したい
コントロール類 ---OnSizeでdialogに連動
dialogB
dialogC
....
結果としてFormViewのサイズを変更すると上記みんな連動してサイズが変更する。
こんな感じです。宜しくお願いいたします。
内包するDialogをMoveWindowすればいいんちゃいます?
おっしゃられる通りと思います。正にその方法が判りません。是非教えてください。
ちなみにこんなことやってみたら強制終了してしまう次第です。
FormViewのOnSize内に-----------
{
CFormView::OnSize(nType, cx, cy);
if(!m_tab.GetSafeHwnd())
return;
else{
CRect rect;
GetClientRect(rect);
m_tab.MoveWindow(rect.left,rect.top,rect.right,rect.bottom);--ここまではOK
m_dlgA.MoveWindow(&rect); <----こんなの入れてみたら強制終了
}
}
(m_dlgAはdialogAをCTabCTrlに貼る時に使用したもの)
入れる場所が違うのか入れるものが違うのか試行錯誤の末、質問とさせていただきまし
た。ご教授の程どうぞ宜しくお願いいたします。
OnSize()は、ダイアログが出来る前にも呼ばれます。
if (IsWindow(m_dlgA)) {
m_dlgA.MoveWindow(&rect);
}
やったー!!有難うございます。
すごい!助かりました。dairygoods様、本当に有難うございました。