Bestandsnamen en Directories

De informatie in deze sectie geldt voor zowel de Verkenner-stijl en de dialoogvensters openen en Opslaan als oude-stijl.

Voordat u de functies GetOpenFileName of GetSaveFileName aanroept, moet het lid lpstrFile van de structuur NAAMOPENBESTAND verwijzen naar de buffer te ontvangen van de bestandsnaam. De nMaxFile lid moet de grootte, in bytes (ANSI-versie) of 16-bits tekens (Unicode versie), opgeven van de buffer lpstrFile.

Als de gebruiker een bestandsnaam moet worden opgegeven en op de knop OK klikt, kopieert het dialoogvenster het geselecteerde station, map en bestandsnaam naar de buffer lpstrFile . De functie ook worden de leden van de nFileOffset en nFileExtension de offsets, in bytes (ANSI-versie) of 16-bits tekens (Unicode versie), vanaf het begin van de buffer, de bestandsnaam en de extensie van de bestandsnaam, met respectievelijk.

Voor het ophalen van alleen stelt de bestandsnaam en de extensie, de lpstrFileTitle lid te wijzen naar een buffer en de nMaxFileTitle lid instelt op de grootte, in bytes (ANSI-versie) of 16-bits tekens (Unicode versie), van de buffer. Alternatief, kunt u de buffer lpstrFile doorgeven in een aanroep naar de functie GetFileTitle om de weergegeven naam van het geselecteerde bestand. Merk echter op dat de bestandsnaam GetFileTitle retourwaarde een uitbreiding bevat alleen als dat de voorkeur van de gebruiker voor het weergeven van bestandsnamen.

Het dialoogvenster gebruikt de huidige map voor het aanroepende proces als de oorspronkelijke map waaruit om bestanden en mappen weer te geven. Gebruik de GetCurrentDirectory of SetCurrentDirectory functies te krijgen of u vanuit de huidige map. Gebruik de lpstrInitialDir lid te geven een andere eerste map zonder uw huidige map wordt gewijzigd, geeft u de naam van een map. Uw huidige map in het dialoogvenster automatisch wordt gewijzigd wanneer de gebruiker een ander station of map selecteert. Om te voorkomen dat het dialoogvenster uw huidige map wordt gewijzigd, stel de OFN_NOCHANGEDIR vlag. Deze vlag belet niet de gebruiker mappen te vinden van een bestand wijzigen.

Als u een standaardextensie van de bestandsnaam, gebruikt de lpstrDefExt lid. Als de gebruiker een bestandsnaam die geen extensie heeft opgeeft, wordt het dialoogvenster uw standaardextensie toegevoegd. Als u een standaardextensie opgeven en de gebruiker Hiermee geeft u een bestandsnaam met een andere extensie, vlag het dialoogvenster box sets de OFN_EXTENSIONDIFFERENT.

Om te laten de gebruiker meer dan één bestand selecteren in een map, stel de OFN_ALLOWMULTISELECT vlag. Voor compatibiliteit met oudere toepassingen, de standaard meerdere selectie dialoogvenster gebruikt de oude-stijl gebruikersinterface. Een Verkenner-stijl meerdere selectie het dialoogvenster wilt weergeven, moet u ook de OFN_EXPLORER vlag instellen.

Als de gebruiker meer dan één bestand wordt geselecteerd, retourneert de buffer waarnaar wordt verwezen door het lid lpstrFile het pad naar de huidige directory, gevolgd door de bestandsnamen van de geselecteerde bestanden. De nFileOffset lid is de verschuiving naar de eerste bestandsnaam en lid van de nFileExtension wordt niet gebruikt. De volgende tabel beschrijft het verschil tussen Verkenner-stijl en oude-stijl dialoogvensters in het terugkeren van meerdere bestandsnamen.

Dialoogvenster vak stijl Beschrijving
Verkenner-stijl dialoogvensters De map en bestandsnaam tekenreeksen zijn gescheiden, met een extra NULL-teken na de laatste bestandsnaam NULL. Deze indeling maakt het mogelijk de Verkenner-stijl dialoogvensters om terug te keren van lange bestandsnamen met spaties.
Oude-stijl dialoogvensters De map en bestandsnaam tekenreeksen worden gescheiden door spaties. De functie gebruikt voor bestandsnamen met spaties, korte bestandsnamen.

U kunt de FindFirstFile functie om te converteren tussen lange en korte bestandsnamen.

Index