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

Pol Hochon - 4 déc. 2001 à 09:58
F0ra Messages postés 111 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 29 décembre 2008 - 2 mai 2008 à 18:52
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 !

6 réponses

Utilises GetOpenFileName(...)
0
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à!!
0
felens Messages postés 1 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 6 mai 2002
6 mai 2002 à 17:08
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
0
akalys Messages postés 31 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 6 janvier 2010
8 févr. 2008 à 10:22
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
akalys Messages postés 31 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 6 janvier 2010
8 févr. 2008 à 11:05
Sa compile mais ne marche pas....

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

Vive le rugby XIII            
0
F0ra Messages postés 111 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 29 décembre 2008
2 mai 2008 à 18:52
salut,
même problème, as tu trouvé une solution ?
merci
@+
0
Rejoignez-nous