Visual Studio 2010では、MFCプロジェクトのMDIおよびSDIアプリケーションにドッキング可能なウィンドウを含めるようになりました。わーい!しかし、私は、CFormViewのサイズをCFrameの利用可能な領域に合わせるのに問題があります。CViewFormをSDIでCFrameの利用可能なウィンドウに合わせるようにサイズ変更
私はユーザーが選択したビュータイプを動的に作成し、CFrameオブジェクトに設定するSDIアプリケーションを用意しています。
私はMDIを代わりに使うことができましたが、複数のドキュメントを持つことの複雑さが増しているので、それを避けたいと思います。
新しいビューを作成し、それがうまく機能を示すが、もし私:
CView* pOldActiveView = GetActiveView();
CView* pNewActiveView = (CView*)new CMyView;
CRect r;
pOldActiveView->GetWindowRect(&r);
pNewActiveView->Create(NULL, NULL, 0, w, this, nForm, &context);
pNewActiveView->OnInitialUpdate();
:各時間は、私は窓が8つのピクセルまで移動し、新しいビューを開きます。私はCRectを調整しようとしたが、それはそれを修正するために働いた。
しかし、出力とクラスのウィンドウ、またはSDIリボンベースのアプリケーションのステータスバーを非表示/ドッキングすると、CFormViewは自動的にサイズが変更されませんし、必要なCRectを見つける方法が見つかりませんにサイズを変更します。 CFormViewが置かれているCFrameからどのようにCRectを取得できますか?