[MFC] MDI avec 1 seul document à la fois
Salut,
Voilà, j'aimerais limiter mon application MDI pour que l'utilisateur ne puisse ouvrir qu'un seul document à la fois... (oui oui, c'est bien une MDI que je veux quand meme :D )
Après pas mal de recherche, j'ai bien compris que la méthode simple consistait à redéfinir les méthodes OnFileNew et OnFileOpen de CMyApp, mais je suis coincé ... [j'ai vu aussi une méthode compliquée en redéfinissant CMultiDocTemplate, mais bon ...]
Comment faire par exemple pour fermer le document courant si il y en a un ? Et pour récuperer le document créé par mon appel a CWinApp::OnFileNew ou CWinApp::OnFileOpen.
De même, si je reussi finalement à appeler OnCloseDocument() sur le document courant, comment faire pour savoir si l'utilisateur n'a pas par hazard annulé (si le document avait été modifié par exemple) ?
Enfin beaucoup de question pour un pb qui n'est peut être pas très compliqué 8O
Merci pour toutes vos idées!
bigquick
[Résolu] [MFC] MDI avec 1 seul document à la fois
En fait, dans la fonction OnSave du document, je sauvegarde toutes les vues ouvertes pour les rouvrir la fois d'après (donc dans le fonction OnOpen :) ). Donc ca m'embétait de les fermer avant de fermer le document...
Mais finalement avec:
Code:
pDoc->OnCmdMsg(ID_FILE_CLOSE, 0, 0, 0);
tout va bien: ca appelle la fermeture du document (avec sauvegarde si besoin est), puis les vues sont fermées. Et après je n'ai plus qu'à créer un nouveau document...
Merci bcp en tout cas, j'ai appris bcp de choses aujourd'hui :)