Bouton parcourir...

cs_Buzu Messages postés 68 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 14 septembre 2007 - 27 mai 2004 à 15:37
cs_Buzu Messages postés 68 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 14 septembre 2007 - 28 mai 2004 à 09:51
Voila :
j'ai une EditBox avec un bouton Parcourir à coté et je voudrai que qd je clic ça ouvre une boite de dialogue et que je puisse aller sélectionner le fichier que je veu dans le dossier que je veu, et simplement que le chemin apparaisse ensuite dans l'EditBox. J'ai déja trouvé des inforlations la dessus sur le site mais je n'arrive pas à y mettre en oeuvre.
Quelqu'un pourait il me fournir un exemple avec la source?
Ca a l'air si simple pourtant...
Merci d'avance.

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 mai 2004 à 15:52
Ne serait-ce pas un selecteur de dossier ?
Regarde la derniere source que je viens de mettre.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_Buzu Messages postés 68 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 14 septembre 2007
27 mai 2004 à 15:59
Pas tout a fait.
Enfait,je voudrai pouvoir aller chercher le fichier que je veu, et voir ensuite dans l'editbox le chemin complet mais que jusqu'a ce fichier là...comprends tu?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 mai 2004 à 16:18
Selecteur de fichier c'est idem dans mes sources.
Pour tronquer juste la partie path, tu mettras un pointeur au debut du nom de fichier:
char *c = szfile;
while(*c) c++; // va zero final
while(*c != '\\') c--;
*c = 0; // reste plus que le path

ciao...
BruNews, Admin CS, MVP Visual C++
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
28 mai 2004 à 09:10
BruNews> J'crois qu'il veut utiliser les Dialogues GetOpenFileName et SaveOpenFileName ....

Buzu> Voici un exemple complet qui te permette de selectionner un fichier (c:\monfichier.txt) et d'afficher le chemin dans une editbox qui contiendra donc "c:\monfichier.txt" :
bool ChooseFile(HWND hEditBox)
{

char			File[MAX_PATH];
OPENFILENAME	ofn;

ZeroMemory(File,sizeof(File));

ofn.lStructSize = sizeof(ofn); 
ofn.hwndOwner = GetActiveWindow(); 
ofn.hInstance = GetModuleHandle(NULL); 
ofn.lpstrCustomFilter = NULL; 
ofn.nMaxCustFilter = NULL; 
ofn.nFilterIndex = 0; 
ofn.lpstrFile = File; 
ofn.nMaxFile = sizeof(File); 
ofn.lpstrFileTitle = NULL; 
ofn.nMaxFileTitle = NULL; 
ofn.lpstrInitialDir = NULL; 
ofn.nFileOffset = NULL; 
ofn.nFileExtension = NULL; 
ofn.lpstrDefExt = "*.lst"; 
ofn.lCustData = NULL; 
ofn.lpfnHook = NULL; 
ofn.lpTemplateName = NULL;
ofn.Flags = OFN_HIDEREADONLY | OFN_FILEMUSTEXIST; 
ofn.lpstrTitle = "Choisir le fichier à ouvrir";
ofn.lpstrFilter = "Executable (*.exe)\0*.exe\0Tous les fichiers\0*.*\0\0"; 

if( !GetOpenFileName( &ofn ) ) 
return false;
else
{
SetWindowText(hEditBox,File);
return true;
}

return false;
}


Tu n'as plus qu'a copier cette fonction dans ton programme, sans oublier son prototype si tu la mets après le WinMain();
Pour l'utiliser c'est simple, tu as juste a lui passer en parametres le handle de ta EditBox.
Exemple:
HWND hEdit1;

hEdit1 = GetDlgItem(hWnd,IDC_EDIT1);
if(!ChooseFile(hEdit1))
MessageBox(hWnd,"Il y a eu une erreur!",NULL,MB_ICONSTOP);


La fonction retourne true si tout s'est bien passé et false dans le cas contraire.

A++ et bonne continuation...

Samir
0

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

Posez votre question
cs_Buzu Messages postés 68 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 14 septembre 2007
28 mai 2004 à 09:51
Super c'est exactement ce qu'il me fallait.
Merci BruNews et DeAtHCrAsH!
0
Rejoignez-nous