MFC Récupérer le nom fichier via la boite de dialogue par defaut

TRASH52 Messages postés 44 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 3 décembre 2004 - 31 déc. 2003 à 17:03
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 - 3 janv. 2004 à 01:32
TRASH52 :big) :big)
http://www.shootopc.com

Salut à tous!
J'explique mon probleme! (Assez Urgent)
J'ai créé un programme MFC!
De base, on a dans le menu fichier un onglet ouvrir et un autre enregistrer sous. (comme dans tous les programmes)
Ces deux onglets fonctionnent sans apporter de modifications, ils ouvrent la fenetre par defaut de windows de recherche de fichier. Seulement, aucune méthodes n'apparait dans le code, donc comment récupérer la chaine(ou Cstring je sais pas) permettant d'identifier le fichier sélectionné?
J'ai essayer d'ajouter une methode OnFileNew() dans ma classe CMonprogView par l'assistant. Cela a pour effet de ne plus m'ouvrir la fenetre par defaut de windows.

J'espère avoir été clair, sinon n'hésitez pas à me demander d'autres renseignements!
Merci d'avance pour votre aide!

3 réponses

cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
2 janv. 2004 à 00:51
si tu regarde dans le fichier source de ton Application
tu verra les gestionnaires de messages suivants :
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
ce qui signifie que le framework s'occupe lui même du travail

pour connaitre le fichier actuellement ouvert, demande le à l'objet Document par sa méthode GetPathName()

Pour tester, tu peux par exemple intercepter le message WM_LBUTTONDOWN dans la vue et coder dans le gestionnaire :
AfxMessageBox(GetDocument()->GetPathName());
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
3 janv. 2004 à 00:57
surcharge "OpenDocumentFile" dans la classe application dérivant de CWinApp, tu obtiendras le nom du fichier à ouvrir.
(ne pas oublier d'appeler la fonction de la classe de base pour poursuivre l'ouverture"
0
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
3 janv. 2004 à 01:32
oui, merci ymca2003 pour le complément.

C'est déja prévu dans la classe Application (comme fonction virtuelle). Donc :
clic droit sur la classe App (dans ClassView)
add virtual function... puis choisir OpenDocumentFile et
Add and Edit Handler
0
Rejoignez-nous