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...
------------------------------- Réponse au message : -------------------------------
> 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!
|