Numele de fișiere și directoare

Informațiile din această secțiune se aplică atât Explorer-stil și casetele de dialog Deschidere și Salvare ca de stil vechi.

Inainte de a apela funcțiile GetOpenFileName sau GetSaveFileName , membru lpstrFile din structura OPENFILENAME trebuie să indicați spre zona-tampon pentru a primi numele fișierului. Membru nMaxFile trebuie să specificați dimensiunea, în octeți (ANSI versiunea) sau 16-bit caractere (versiunea Unicode), de tampon lpstrFile.

Dacă utilizatorul specifică un nume de fișier și face clic pe butonul OK , caseta de dialog copiază unitatea selectat, director și numele fișierului în tampon lpstrFile . Func?ia, de asemenea, setează membrii nFileOffset și nFileExtension la compensărilor, în octeți (ANSI versiunea) sau caractere de 16-bit (Unicode traducere), la începutul tampon numele de fișier și extensia de nume de fișier, respectiv.

Pentru a regăsi doar nume de fișier și extensia, set membru lpstrFileTitle punctul de la un tampon de nMaxFileTitle membru al setului de la dimensiunea, în octeți (ANSI versiunea) sau 16-bit caractere (versiunea Unicode), de tampon. Alternativ, puteți trece tampon lpstrFile într-un apel la funcția GetFileTitle pentru a obține numele afișat al fișierului selectat. Rețineți, totuși, că numele fișierului care returnează GetFileTitle include o extensie numai în cazul în care este utilizatorului preferință pentru afișarea fișierelor.

Caseta de dialog utilizează directorul curent pentru procesul de asteptare ca directorul inițială la pentru a afișa fișierele și directoarele. Utilizarea GetCurrentDirectory sau SetCurrentDirectory funcții pentru a lua sau a modifica directorul curent. Pentru a specifica un director ini?iale diferite fără a modifica directorul curent, utilizați membru lpstrInitialDir pentru a specifica numele de un director. Caseta de dialog modifică automat directorul curent atunci când utilizatorul selectează o altă unitate sau director. Pentru a împiedica modificarea directorul curent în caseta de dialog, setați pavilion OFN_NOCHANGEDIR. Acest drapel nu împiedică utilizatorului modificarea directoare pentru a găsi un fișier.

Pentru a specifica extensia implicită, utilizați membre lpstrDefExt . Dacă utilizatorul specifică un nume de fișier care nu are o extensie, caseta de dialog adaugă extensia implicită dumneavoastră. Dacă specificați un extensia implicită și utilizator specifică un nume de fișier cu o extensie diferită, seturile de caseta de dialog OFN_EXTENSIONDIFFERENT pavilion.

Pentru a permite utilizatorului selectați mai multe fișiere la un director, setați pavilion OFN_ALLOWMULTISELECT. Pentru compatibilitate cu aplicații mai vechi, implicit caseta de dialog selecție multiple utilizează interfața cu utilizatorul de stil vechi. Pentru a afișa un Explorer-stil multiple caseta de dialog de selecție, de asemenea, trebuie să setați pavilion OFN_EXPLORER.

Dacă utilizatorul selectează mai multe fișiere, tampon a subliniat de membru lpstrFile întoarce calea spre directorul curent urmat de numele fișierelor fi?iere selectate. NFileOffset este deplasarea la primul numele fișierului, și membru nFileExtension nu este utilizat. Următorul tabel descrie diferen?a între Explorer-stil și casetele de dialog stil vechi se întoarce mai multe nume de fișiere.

Stil de caseta de dialog Descriere
Casetele de dialog Explorer-stil Director și numele de fișier siruri de caractere sunt NULL separate, cu un caracter nul suplimentare după ultima numele fișierului. Acest format permite dialoguri Explorer-stil să se întoarcă numele de fișiere lungi care includ spații.
Casetele de dialog stil vechi Director și numele de fișier siruri de caractere sunt separate prin spa?ii. Pentru numele fișierelor cu spații, funcția utilizează fișiere scurt.

Aveți posibilitatea să utilizați FindFirstFile funcție pentru a face conversia între numele de fișiere lungi și scurte.

Index