スプリッター付きのメインフレームがあります。左側には (想像上の名前の) CAppView_Left があり、右側には CAppView_Right_1 と CAppView_Right_2 があります。次のコードを使用して、2 つの主要なビューを正しく初期化します。
if (!m_wndSplitter.CreateStatic(this, 1, 2))
{
TRACE0("Failed to CreateStaticSplitter\n");
return FALSE;
}
else
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CAppView_Left), CSize(300, 200), pContext))
{
TRACE0("Failed to create left pane\n");
return FALSE;
}
else
if (!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CAppView_Right_1), CSize(375, 200), pContext))
{
TRACE0("Failed to create first right pane\n");
return FALSE;
}
...
私がやりたいのは、右のフレーム内に 2 番目のビューを作成することですが、これを追加しようとすると:
if (!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CAppView_Right_2), CSize(375, 200), pContext))
{
TRACE0("Failed to create first right pane\n");
return FALSE;
}
VS はコンパイルされますが、アプリケーションの実行に失敗し、ビューが既に定義されていることを示す例外が発生します。
誰かがこれを行う方法を提案できますか? また、ビューまたはドキュメント クラスからビューを切り替える方法は?