Lister Fichiers VC++

Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007
- - Dernière réponse : BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
7 novembre 2014
- 7 avril 2003 à 23:12
J'ai trouvé des exemples pour lister les fichiers d'un répertoire Borland, DevC++ ... mais pour VC++ (6.0), quelqu'un peut-il m'aider?
Merci!
Afficher la suite 

1 réponse

Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
0
Merci
HWND hlst, hdir;
char szdir[264]; // le dossier a lister est dedans
char szbuff[264];

func dessous envoie fichiers dans listbox et regle HSCROLL pour les regarder.
void FilesInDirectory()
{
WIN32_FIND_DATA wfd;
HANDLE hfl;
HDC hdc;
SIZE size;
int len;
SendMessage(hlst, LB_RESETCONTENT, 0, 0);
SendMessage(hlst, LB_SETHORIZONTALEXTENT, 0, 0); // wParam len
strcpy(szbuff, szdir); strcat(szbuff, "*.*");
hfl = FindFirstFile(szbuff, &wfd);
if(hfl == INVALID_HANDLE_VALUE) return;
SendMessage(hlst, WM_SETREDRAW, 0, 0);
len = 0;
hdc = GetDC(hlst);
SelectObject(hdc, (HFONT)SendMessage(hlst, WM_GETFONT, 0, 0));
if(wfd.cFileName[0] != 46) {
if(!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
SendMessage(hlst, LB_ADDSTRING, 0, (long) wfd.cFileName);
GetTextExtentPoint32(hdc, wfd.cFileName, strlen(wfd.cFileName), &size);
if(size.cx > len) len = size.cx;
}
}
while(FindNextFile(hfl, &wfd)) {
if(wfd.cFileName[0] != 46) {
if(!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
SendMessage(hlst, LB_ADDSTRING, 0, (long) wfd.cFileName);
GetTextExtentPoint32(hdc, wfd.cFileName, strlen(wfd.cFileName), &size);
if(size.cx > len) len = size.cx;
}
}
}
FindClose(hfl);
ReleaseDC(hlst, hdc);
if(len) SendMessage(hlst, LB_SETHORIZONTALEXTENT, len+5, 0);
SendMessage(hlst, WM_SETREDRAW, 1, 0);
SendMessage(hlst, LB_SETCURSEL, 0, 0);
}

BruNews, ciao...
Commenter la réponse de BruNews