sewahass
Messages postés12Date d'inscriptionlundi 17 septembre 2007StatutMembreDernière intervention27 octobre 2007 18 sept. 2007 à 02:14
salut
merci beaucoup.
continue et @++
cs_Xaviou
Messages postés154Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention 2 octobre 20091 23 nov. 2005 à 17:53
Salut,
En fait, un ITEMIDLIST est un identifiant qui réfère à un dossier, c'est à dire, à un emplacement sur le(s) disque(s).
C'est la valeur que nous donne SHBrowseForFolder. Tu pourra noter qu'il y en a un autre dans la structure BROWSEINFO, qui doit contenir le dossier Root à partir duquel on veut chercher.
Pour ce qui est du membre bi.pszDisplayName, il ne contient que le nom du répertoire sélectionné, mais pas son chemin complet
Ex: si tu sélectionne C:\Windows\system32
bi.pszDisplayName contiendra system32
J'espère avoir été suffisament clair, et avoir répondu à tes questions
Bonne prog
Xaviou
cs_jean84
Messages postés449Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 5 mars 2009 23 nov. 2005 à 10:57
ah au fait je voulais dire que je compile sous devcpp 4.9.9.2 et sa fonctionne nickel chrome... a part un "[Warning] no newline at end of file" mais lol, c'est pas trop grave.... (par conte, vu comment tu declare ta classe WNDCLASSEX, j'ai droit a une belle fenetre DOS derriere la fenetre de ton prog.... mais c'est pas non plus tres grave...)
@++ et bonne continuation
cs_jean84
Messages postés449Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 5 mars 2009 23 nov. 2005 à 10:51
Sympa le code mais j'avoue ne pas tout comprendre dedans....
j'ai du mal a comprendre pourquoi ta fonction FolderBrowse() :
HWND hWndMain,hWndBtn;
char Result[MAX_PATH];
int FolderBrowse()
{
BROWSEINFO bi;
ITEMIDLIST *il;
char Buffer[MAX_PATH];
bi.hwndOwner=hWndMain;
bi.pidlRoot=NULL;
bi.pszDisplayName=&Buffer[0];
bi.lpszTitle="Select a folder...";
bi.ulFlags=0;
bi.lpfn=NULL;
if ((il=SHBrowseForFolder(&bi))==NULL) return 0;
return SHGetPathFromIDList(il,&Result[0]);
}
Quest-ce qu'un ITEMLIST ??
Le parametre bi.pszDisplayName=&Buffer[0] n'est-il pas cense contenir directement le path du dossier selectione grace a SHBrowseForFolder() ?? Pourquoi renvoyer autre chose ... ?? Merci de m'expliquer ou de commenter ton code, la j'ai vraiment du mal... ;-)
@++
lpikachu58
Messages postés351Date d'inscriptionsamedi 2 février 2002StatutMembreDernière intervention 6 mai 20042 3 nov. 2005 à 16:08
18 sept. 2007 à 02:14
merci beaucoup.
continue et @++
23 nov. 2005 à 17:53
En fait, un ITEMIDLIST est un identifiant qui réfère à un dossier, c'est à dire, à un emplacement sur le(s) disque(s).
C'est la valeur que nous donne SHBrowseForFolder. Tu pourra noter qu'il y en a un autre dans la structure BROWSEINFO, qui doit contenir le dossier Root à partir duquel on veut chercher.
Pour ce qui est du membre bi.pszDisplayName, il ne contient que le nom du répertoire sélectionné, mais pas son chemin complet
Ex: si tu sélectionne C:\Windows\system32
bi.pszDisplayName contiendra system32
J'espère avoir été suffisament clair, et avoir répondu à tes questions
Bonne prog
Xaviou
23 nov. 2005 à 10:57
@++ et bonne continuation
23 nov. 2005 à 10:51
j'ai du mal a comprendre pourquoi ta fonction FolderBrowse() :
HWND hWndMain,hWndBtn;
char Result[MAX_PATH];
int FolderBrowse()
{
BROWSEINFO bi;
ITEMIDLIST *il;
char Buffer[MAX_PATH];
bi.hwndOwner=hWndMain;
bi.pidlRoot=NULL;
bi.pszDisplayName=&Buffer[0];
bi.lpszTitle="Select a folder...";
bi.ulFlags=0;
bi.lpfn=NULL;
if ((il=SHBrowseForFolder(&bi))==NULL) return 0;
return SHGetPathFromIDList(il,&Result[0]);
}
Quest-ce qu'un ITEMLIST ??
Le parametre bi.pszDisplayName=&Buffer[0] n'est-il pas cense contenir directement le path du dossier selectione grace a SHBrowseForFolder() ?? Pourquoi renvoyer autre chose ... ?? Merci de m'expliquer ou de commenter ton code, la j'ai vraiment du mal... ;-)
@++
3 nov. 2005 à 16:08