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...