Lister Fichiers VC++

didrocks Messages postés 73 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 17 décembre 2007 - 7 avril 2003 à 23:00
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 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!

1 réponse

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 avril 2003 à 23:12
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...
0
Rejoignez-nous