Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3684 connectés 

 


Dernière réponse
Sujet : [VC++] Choix d'un répertoire (Boite de Dlg)
juju_le_barbare

leander a écrit a écrit :

www.codeguru.com .........................  




 
thx ;-)


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
juju_le_barbare

leander a écrit a écrit :

www.codeguru.com .........................  




 
thx ;-)

leander www.codeguru.com .........................
juju_le_barbare

leander a écrit a écrit :

bon ben, je vais faire les questions réponses ;)
Je cherchais depuis 1 heure et je viens de trouver en 1s sur codeguru...
 
// On remplace ligne  
 bi.lpfn     = NULL;
//par
 bi.lpfn     = BrowseCallbackProc;
 
 
// On défini la callback suivante :
 
static int __stdcall BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lp, LPARAM pData)
{
 TCHAR szDir[MAX_PATH] = {NULL};
 if (uMsg == BFFM_INITIALIZED)
 {
  //  Browse dialog initialized - set it to our default folder
       wsprintf(szDir, "%s","c:\\mon rep" );
   
  // put initial directory here      
  SendMessage(hwnd,BFFM_SETSELECTION,TRUE,(LPARAM)szDir);
 }      
 return 0;
}
 
 
et voila, c'est gagné  




 
codeguru ... quelle adresse ?

leander bon ben, je vais faire les questions réponses ;)
Je cherchais depuis 1 heure et je viens de trouver en 1s sur codeguru...
 
// On remplace ligne  
 bi.lpfn     = NULL;
//par
 bi.lpfn     = BrowseCallbackProc;
 
 
// On défini la callback suivante :
 
static int __stdcall BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lp, LPARAM pData)
{
 TCHAR szDir[MAX_PATH] = {NULL};
 if (uMsg == BFFM_INITIALIZED)
 {
  //  Browse dialog initialized - set it to our default folder
       wsprintf(szDir, "%s","c:\\mon rep" );
   
  // put initial directory here      
  SendMessage(hwnd,BFFM_SETSELECTION,TRUE,(LPARAM)szDir);
 }      
 return 0;
}
 
 
et voila, c'est gagné
leander je suis en train de faire un boite de dialogue qui possède un bouton qui permet de choisir un repertoire qui sera utilisé dans la suite l'application.
 
Pour le moment, j'utilise le code suivant :
 
 bi.pidlRoot       = NULL;
 bi.pszDisplayName = szString;
 bi.lpszTitle   = "Choisir un repertoire";
 bi.ulFlags        = BIF_RETURNONLYFSDIRS;
 bi.lpfn           = NULL;
 bi.lParam         = 0;
 bi.iImage         = 0;
 
 pidl = SHBrowseForFolder(&bi);
 if (pidl != NULL)
 {
  IMalloc*   pm;
 
  SHGetPathFromIDList( pidl, szPathName );
  SHGetMalloc(&pm);
  if (pm)
  {
   pm->Free(pidl);
   pm->Release();
  }
  m_EditPathName.SetWindowText( szPathName );
 }  
 
Mais ça ne me satisfait pas encore. En effet j'aimerai pouvoir spécifier le répertoire par défaut qui est activé lorsque l'on ouvre la boite de dialogue pour choisir son rep. Parce que pour le moment, elle s'ouvre toujours sur le bureau.
Apparement on spéficier des repertoires classique "program files, mes documents, etc..." mais je n'arrive à trouver comment spécifier mon répertoire à moi par défaut.
 
Je sais qu'il faut remplir le champ bi.pidlRoot avec un ITEMIDLIST, mais j'ai pas encore compris comme ça marche.  
Es-ce que quelqu'un aurai un petit exemple ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)