Salut,
Quand je quitte une fenetre dans une de mes applications, si j'ai fait un changement dans le Doc, on me demande si je veux enregistrer (jusque la tout est normal)
J'aimerais, lorsque je souhaite enregistrer, ouvrir la boite de dialogue SAVE_AS mais je n'ai pas trouvé comment faire.
J'ai essayé de récupérer les signaux : ID_FILE_SAVE, ID_FILE_CLOSE et ID_APP_EXIT avec la fonction "OnCommand (WPARAM,LPARAM)" mais aucun ne fonctionne. En fait, il semblerait que la fonction ne soit meme pas appelée.
Meme résultat avec ID_FILE_SAVE_AS. Mais je pense que ce sera plutot la valeur que je donnerai à wParam des que j'aurais pu intercepter le signal adhéquat.
voila ce que donne l'aide MSDN :
ID_FILE_CLOSE: Closes the currently open document.
CDocument::OnFileClose calls CDocument::SaveModified to prompt the user to save the document if it has been modified and then calls OnCloseDocument. All the closing logic, including destroying the document, is done in the OnCloseDocument routine.
Note ID_FILE_CLOSE acts differently from a WM_CLOSE message or an SC_CLOSE system command sent to the documents frame window. Closing a window will close the document only if that is the last frame window showing the document. Closing the document with ID_FILE_CLOSE will not only close the document but will close down all frame windows showing the document.
A priori, il faut bien que j'intercepte avant l'appel de la fonction
CDocument::OnFileClose. Ca marche bien avec le
ID_FILE_CLOSE quand je fais "fichier->Close" dans le Menu mais pas quand je sors avec la croix.
Pour le moment, la fonction "OnCommand" se situe dans le mainFrame.cpp. Je pense que c'est pour ca que le programme ne passe pas par cette fonction quand je ferme une fenetre secondaire. (en meme temps, quand je ferme la fenetre principale, je ne passe pas non plus par le OnCommand mais je vais quand meme dans le OnClose).
Donc voila, je bloque. Si quelqu'un peu m'aider....