Salut a tous,
je cherche un controle activeX me permettant de parcourir mon disque dur, comme un bouton parcourir pr aller chercher un fichier ...
merci
Salut a tous,
je cherche un controle activeX me permettant de parcourir mon disque dur, comme un bouton parcourir pr aller chercher un fichier ...
merci
SAlut
Moi j'utilise une boite de dialog parcourir dans mon projet MFC. Je te met le code voit ce que tu peut faire avec. Dans mon_dossier tu aura la valeur du dossier selectionné lorsque l'utilisateur click sur le bouton OK.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #include <Shlobj.h> ... void CNomProjetDlg::OnParcourir() { // TODO: Add your control notification handler code here char nom_dossier[MAX_TAILLE]; LPITEMIDLIST item; BROWSEINFO bi; memset(&bi,0,sizeof(BROWSEINFO)); item=SHBrowseForFolder(&bi); if(item!=NULL) SHGetPathFromIDList(item,nom_dossier); CWnd::SetDlgItemText(IDC_EDIT_DESTINATION,nom_dossier); // cette derniere ligne permet juste d'afficher le resultat dans un control // CEdit }
euh ....
qu'est ce que tu entends par parcourir ? est ce une boite de dialogue pour ouvrir un fichier ? est ce le parcours recursif jusqu'a trouver un fichier automatiquement ?
Juste un bouton parcourir tout simple qui donne accés a tes disques locaux
desole pr le triple post
oui j'utilise des mfc
Donc si j'ai bien compris moi je ferais ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CFileDialog fdlg(TRUE); fdlg.DoModal();
Merci c'est exactement ce que je voulais !
Par contre comment je fait lorsque j'ai finit de choisir mon fichier, que le chemin s'affiche sur mon IDC_EDIT ??
CFileDialog dans la faq http://c.developpez.com/faq/vc/?page...DialogHowToUse
SetWindowText sur le Cedit pour afficher la sélection
Merci
J'ai essayé ta fontction comme ceci :
m_fichier = setwindows.....();
Mais cela ne marche pas ... Et je n'ai pas trouvé la solution sur ton lien
Code : Sélectionner tout - Visualiser dans une fenêtre à part m_edit.SetWindowText(FileOpenDialog.GetPathName());
Merci mais il y a quelques erreurs a la compilation sur la ligne suivante :
les erreurs sont les suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part m_fichier.SetWindowText(FileOpenDialog.GetPathName());
SetWindowText : is not a member of CString
FileOpenDialog : undeclared identifier
et
GetPathName : must have class/struct/union type
g du mal a comprendre
Il faut que tu associes ton controle à un CEdit, et non à une chaineEnvoyé par jonny
qu'est-ce que FileOpenDialog ?Envoyé par jonny
on peut avoir le code de la ligne avec getpathname ?
pardon voici le code :
J'ai recopié betement ce qu'on ma proposé dans le forum je vous cache pas que je comprend plus grand chose.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CFileDialog fdlg(TRUE); fdlg.DoModal(); m_fichier.SetWindowText(FileOpenDialog.GetPathName());
là ... c'est dur
et essaie voir de mettre le bon nom de variable ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CFileDialog fdlg(TRUE); fdlg.DoModal(); m_fichier.SetWindowText(fdlg.GetPathName());
Il y a du mieux !
1 erreur : SetWindowText is not a member of CString
Il y a une chose etrange c'est que lorsque je met le point apres m_fichier, en temps normal il me propose une multitude de fonction tandis que là il me propose rien ...
j'ai déjà répondu à cette question :
Envoyé par nico-pyright(c)
ok je vois c bon j'ai corrigé, a nouveau 3 erreurs :
GetLenght is not a member of Cedit .... a 2 reprise cette erreur
et l'autre erreur :
fopen cannot convert parametre 1 from class Cedit from const char *
....
Mais le point apres mon Control Cedit ne me donne toujours pas de liste de fonction
c'est pas comme ca qu'on récupère la longueur d'un CEdit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int longueur = m_monEdit.GetWindowTextLength();
je pense que l'on s'eloigne du sujet, je rapelle que je veux juste copier le chemin d'un fichier choisi sur une fenetre CFileDialog sur un edit.
Maintenant si il faut aller jusqu'a prendre la taille du control edit autant pour moi mais je ne comprend pas.
HELP !
Partager