begin process at 2010 02 09 23:47:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Explorateur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Explorateur

samedi 1 mai 2004 à 16:13:51 | Explorateur

ED_34


Bonjour,

Je débute en C++ et j'utilise Visual C++ 6. J'ai un mal de chien à comprendre comment on fait pour faire un petit explorateur tout bête afin de pouvoir se balader dans les dossiers pour selectionner un fichier. Apparement il faut se servir d'un CTreeList, mais c'a à l'air super compliqué...

Quelqun a une idée pour faire quelque chose de basic mais fonctionnel? Meme en utilisant une Clist.... je sait pas comment m'en sortir... :-(

ED
samedi 1 mai 2004 à 16:43:08 | Re : Explorateur

glipper

Membre Club

Ben si tu veux pas te prendre la tete : GetOpenFileName()
C'est fait pour ça :)

Sinon le mieux c'est d'utiliser une TreeView, mais c'est pas tres simple. Voila un source que j'ai déposé ya pas longtemps :
http://www.cppfrance.com/code.aspx?ID=22072

Peut-être que ça peut-aider. Ou tu peux aussi chercher "explorateur" sur les sources de cppfrance, il doit y en avoir pas mal.

GetOpenFileName() reste quand même de tres loin le plus simple, c'est une fonction qui est faite pour ça :)

++ Glipper
samedi 1 mai 2004 à 16:55:35 | Re : Explorateur

ED_34


OK merci beaucoup pour le GetOpenFileName()!!!!! tu me sauves la vie... je vais le tester!

Merci aussi pour ta source, je la télécharge et la teste après. EN ce qui concerne explorateur dans ccp france... c galère! il y a des millions de resultats qui sont tous très valables mais super compliqués...

Je part tester tout ça... Merci beaucoup

ED
mercredi 13 juillet 2005 à 18:03:35 | Re : Explorateur

bloobird0

sympa ce GetOpenFileName,

j'aurai une autre demande dans le même genre, comment afficher un dialogue qui demande de selectionner un répertoire (et uniquement un répertoire)?

Merci d'avance
mercredi 13 juillet 2005 à 20:53:14 | Re : Explorateur

glipper

Membre Club
SHGetPathFromIDList()

exemple :

char DEF_CHEMIN_FILE[MAX_PATH];    // variable qui contiendra l'adresse du repertoire

BROWSEINFO bi;
bi.hwndOwner=hWnd;
bi.pidlRoot=NULL;  // repertoire de depart (par defaut la racine)
bi.pszDisplayName=&DEF_CHEMIN_FILE[0];
bi.lpszTitle="Selectionner un repertoire...";
bi.ulFlags=0;  // Divers options voir msdn
bi.lpfn=NULL; // gestion des erreurs
ITEMIDLIST *Item;
Item = SHBrowseForFolder(&bi);
SHGetPathFromIDList(Item,&DEF_CHEMIN_FILE[0]);


Voila voila !
Bon j'ai recuperé ça dans un de mes programmes... mieux vaux regarder dans MSDN comment remplir la structure proprement peut-être.
Glipper

mercredi 9 novembre 2005 à 09:20:07 | Re : Explorateur

simeric

SalutPar défault, le dialogue place le focus sur le "Poste de travail"Est-ce que quelqu'un saurait comment définir un autre dossier par défaut ?
jeudi 10 novembre 2005 à 21:00:33 | Re : Explorateur

glipper

Membre Club
Bonjour,

Voila une solution que j'ai trouvé en faisant une petite recherche sur le web :

déjà tu rajoutes la librairie COMDEF.H
#include <COMDEF.H>

ensuite cette fonction quelque part dans ton programme :

HRESULT CreatePIDL(LPCTSTR pstrPath, LPITEMIDLIST* pItemIDList)
{
   // I'm lazy and used _bstr_t to convert to wide
   // characters. You'll have to link to comsupp.lib
   // and #include <comutil.h>
   _bstr_t bstrPath(pstrPath);

   LPSHELLFOLDER pShellFolder;
   HRESULT hr = SHGetDesktopFolder(&pShellFolder);
   if (SUCCEEDED(hr))
   {
      hr = pShellFolder->ParseDisplayName(NULL, NULL, bstrPath,
            NULL, pItemIDList, NULL);

      pShellFolder->Release();
   }

   return hr;
}


et enfin quand tu initialise ta boite de dialogue :


BROWSEINFO bi;

....
LPITEMIDLIST pidlRoot;
pidlRoot = NULL;
CreatePIDL("C:\\Program Files", &pidlRoot);
bi.pidlRoot = pidlRoot;

....

Voila....

Glipper

ps : attention, je crois qu'il faut liberer la mémoire apres l'ouverture d'une telle boite de dialogue : "The calling application is responsible for freeing the returned item identifier list using the shell’s task allocator. "


Cette discussion est classée dans : explorateur


Répondre à ce message

Sujets en rapport avec ce message

explorateur windows [ par m.beber ] Salut à tous,Je vous écrits car j'ai un petit problème pour programmerune application de type "explorateur windows".Je travaille sous borland C++ Buil Explorateur de fichier(+controle) [ par attilaspirit ] 1)Si kelk'un pouvait me dire comment intégré un explorateur de fichier (komme l'explorateur de ce tres cher windose => la partie "tree")et par la savo upload d'un fichier par Drag&drop de l'explorateur vers IE [ par temp ] Voila, je cherche à faire un upload d'un fichier présent sur mon disque dur vers un serveur easyphp en faisant un glisser-déposer depuis l'explorateur attribuer icone en fonction de l'extension [ par glipper ] Bonjour, Je suis en train de travailler sur un explorateur de fichier (du style 'l'explorateur windows'), et je cherche comment attribuer les bonnes Explorateur en MFC [ par ED_34 ] Bonjour, Je débute en C++ et je travaille sur un projet qui m'oblige à avoir un explorateur pour naviguer dans les dossiers et selectionner des fich sources explorateur windows [ par linkinlife66 ] LINKINLIFE66 je cherche un explorateur windows pour mon projet Intégration dans l'explorateur [ par vecchio56 ] Comment on peut faire pour ajouter son application au menu qu'on a dans l'explorateur quand ont fait un clik droit sur le fichier (j'aimerais pouvoir icones 24 bits dans CListView [ par wangendymion ] BonjourJe me suis ecrit un explorateur en c++, en utilisant les MFC avec une fenetre splittee avec un TreeView a gauche et un ListView a droite.Je vou explorateur de fichier avec visual c++.net [ par norman bates ] Salut tout le monde je suis tout nouveau dans la communauté et dans la programmation et je souhaite créer un explorateur de fichiers pour mettre en pr Menu contextuel explorateur [ par Xaviou ] Bonjour,A partir d'un fichier donné, je cherche à afficher le même menu contextuel que celui de l'explorateur windows.Le seul exemple que j'ai trouvé


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales