Comment ouvrir la fenetre Windows "Ouvrir Fichier" en C++ ?

Signaler
-
Messages postés
111
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
29 décembre 2008
-
Salut !

J'ai un problème pour un projet de C++.
J'aimerais bien connaitre l'instruction en C++ qui
permet d'ouvrir la boite de dialogue Windows "Ouvrir" (fichier).
Merci d'avance !
A voir également:

6 réponses

Utilises GetOpenFileName(...)
Il faut que tu déclare ceci :
char FileName[MAX_PATH];// Tampon pour nom de fichier
OPENFILENAME ofn; // Structure pour les boîtes de dialogues de fichier
Ensuite il faut que tu initialise cette variable selon le prototype suivant :

void InitialiseStructFileDlg(HWND hwnd)
{
static TCHAR szFilter[] = "Fichiers image (*.BMP)\0*.BMP\0";


ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd; //handle de ton appli ou fenêtre
ofn.hInstance = NULL;
ofn.lpstrFilter = szFilter;
ofn.lpstrCustomFilter = NULL;
ofn.nMaxCustFilter = 0;
ofn.nFilterIndex = 0;
ofn.lpstrFile = FileName;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = MAX_PATH;
ofn.lpstrInitialDir = (const char *)_getdcwd ;
ofn.lpstrTitle = NULL;
ofn.Flags = 0;
ofn.nFileOffset = 0;
ofn.nFileExtension = 0;
ofn.lpstrDefExt = "txt";
ofn.lCustData = 0L;
ofn.lpfnHook = NULL;
ofn.lpTemplateName = NULL;
}

ensuite utilise :
GetOpenFileName(&ofn) pour ouvrir une boite dialogue pour ouvrir un fichier.

Voilà!!
Messages postés
1
Date d'inscription
lundi 6 mai 2002
Statut
Membre
Dernière intervention
6 mai 2002

Bonjour j'ai essayé de procéder comme tu l'as indiqué mais mon problème vient du fait que je ne sais pas ou placer l'initialisation de la variable (void InitialiseStrucFileDlg ...)
Je programme en Visual c++ et j'aimerai ouvrir la boite de dialogue lors de l'appel de la fonction CNom_FichierDoc::OnCaptureRef() dans le fichier CNom_FichierDoc.cpp.
Peux tu me donner la ligne de code expliquant GetOpenFileName(&ofn)?

Merci d'avance pour vos réponses
Messages postés
31
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
6 janvier 2010

Bonjour,

j'ai compiler tout sa mais il me reste une erreur :

error C2065: '_getdcwd' : undeclared identifier

Si vous pouvez m'aider, merci à vous :)

Vive le rugby XIII
Messages postés
31
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
6 janvier 2010

Sa compile mais ne marche pas....

------------------------------------------------------------------------------------------

Vive le rugby XIII            
Messages postés
111
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
29 décembre 2008

salut,
même problème, as tu trouvé une solution ?
merci
@+