お世話になります。
現在、vc2003+MFCの環境でSDIのアプリでCSplitterWndを使用して
ビューを左右に分割しています。
ちなみに、左はCTreeViewで右はCFormViewになります。
やりたいのは、左のツリーに選択された項目により
右側のフォームを切り替えたいのです。
分割されていないビューでは、ビューの切り替えは出来るように
なったのですが、分割した状態でやると全体にビューが重なった
ように表示されました。
切り替えるビューの作成は以下のようにしています。
CView* pViewRemove = (CView*)m_wndSplitter.GetPane( 0, 1 );
m_pView = new XXX;//CFormViewを継承したクラス
CWnd* pParent = pViewRemove->GetParent();
m_pView->Create( NULL, NULL, AFX_WS_DEFAULT_VIEW, rectDefault,
pParent, AFX_IDW_PANE_FIRST+1, NULL );
おそらく、親ウィンドウの設定がおかしいのではないかとは思っています。
ご存知の方、おられましたらご伝授願えますでしょうか。
宜しく御願いします。
同様の内容を質問している掲示板を発見し、
無事解決できました。
m_wndSplitter.DeleteView(0, 1);
m_wndSplitter.CreateView(0, 1,RUNTIME_CLASS(CTeamEditFormView), CSize(100, 100), NULL);
m_wndSplitter.RecalcLayout();
貴重なスペースを使わせて頂きありがとうございました。
今回はこれで解決とさせて頂きます。
ツイート | ![]() |