J'ai un cadre principal avec un séparateur. Sur la gauche, j'ai mon (imaginativement nommé) CAppView_Leftand sur la droite j'ai CAppView_Right_1 et CAppView_Right_2. A travers le code suivant je les deux vues INITIALISER primaires correctement:Vues interchangeables multiples (MFC/C++)
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;
}
...
Ce que je voudrais faire est de créer une seconde vue à l'intérieur du cadre de droite, mais lorsque je tente d'ajouter ceci:
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 compile mais ne parvient pas à exécuter l'application, ce qui soulève une exception me disant que je l'ai déjà défini la vue.
Quelqu'un peut-il suggérer comment je fais cela? Aussi, comment changer entre les vues d'une vue ou de la classe de document?
Merci beaucoup.
Merci! J'avais trouvé d'autres exemples sur codeproject, mais aucun n'était aussi efficace que ça. Merci beaucoup! :) – Konrad