2012-03-29 6 views
0

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を取得できますか?

答えて

0

Nevermind。私は別のルートに行くことにしました。メインフレームのビューを動的に切り替えるのではなく、このリンクを見つけてドキュメントにビューを追加し、問題なくそのまま切り替えました(mfcはサイズ変更を処理しました)http://msdn.microsoft.com/en-us/library/s199bks0(v=vs.80).aspx

関連する問題