Filnavn og kataloger

Informasjonen i dette avsnittet gjelder både Explorer-stil og gammeldagse dialogboksene for Åpne og Lagre som.

Før du kaller funksjonene GetOpenFileName eller GetSaveFileName , må lpstrFile -medlem av OPENFILENAME -strukturen peke til bufferen å motta filnavnet. NMaxFile -medlem må angi størrelsen, i byte (ANSI-versjonen) eller 16-biters tegn (Unicode-versjon), av lpstrFile -buffer.

Hvis brukeren angir et filnavn og klikker på OK -knappen, kopierer dialogboksen den valgte stasjon, katalog og filnavn til den lpstrFile -bufferen. Funksjonen også angir nFileOffset og nFileExtension -medlemmer til forskyvninger, i byte (ANSI-versjonen) eller 16-biters tegn (Unicode-versjon), fra starten av bufferen til filnavnet og filendelsen, henholdsvis.

Til å hente bare setter filnavnet og filtypen, du lpstrFileTitle -medlemmet til å peke til en bufferen og angi størrelsen, i byte (ANSI-versjonen) eller 16-biters tegn (Unicode-versjon), nMaxFileTitle -medlem av bufferen. Du kan eventuelt sende lpstrFile bufferen i et kall til funksjonen GetFileTitle å få visningsnavnet for den valgte filen. Merk, men at filnavnet som GetFileTitle returnerer inneholder filtypen bare hvis det er brukerens preferanser for å vise filnavn.

Dialogboksen bruker gjeldende mappe for den kallende prosessen som første mappen å vise filer og mapper. Bruk den GetCurrentDirectory eller SetCurrentDirectory -funksjoner for å få eller endre gjeldende mappe. Hvis du vil angi en annen første katalog uten å endre gjeldende mappe, kan du bruke lpstrInitialDir -medlem til å angi navnet på en mappe. Dialogboksen endrer automatisk gjeldende mappe når brukeren velger en annen stasjon eller mappe. For å hindre at dialogboksen Endre gjeldende mappe, sette OFN_NOCHANGEDIR-flagget. Dette flagget hindrer ikke brukeren fra å endre kataloger for å finne en fil.

Hvis du vil angi en standard-filendelse, kan du bruke lpstrDefExt -medlem. Hvis brukeren angir et filnavn som ikke har filtypen, legger dialogboksen til din standard filtype. Hvis du angir en standard filtype og brukeren angir et filnavn med en annen filtype, flagg boksen dialogboksen angir OFN_EXTENSIONDIFFERENT.

Slik at brukeren kan velge mer enn én fil fra en mappe, sette OFN_ALLOWMULTISELECT-flagget. For kompatibilitet med eldre programmer, standard dialogboksen for flere valg bruker gammeldagse brukergrensesnittet. Hvis du vil vise dialogboksen for flere valg for en Explorer-stil, må du også angi flagget OFN_EXPLORER.

Hvis brukeren velger mer enn én fil, returnerer bufferen som medlemmet lpstrFile peker til banen til gjeldende mappe som er etterfulgt av filnavnene til de valgte filene. NFileOffset -medlem er forskyvningen til første filnavnet, og brukes ikke nFileExtension -medlem. Tabellen nedenfor beskriver forskjellen mellom Explorer-stil og gammeldagse dialogbokser i retur flere filnavn.

Dialogboksen Boksstiler Beskrivelse
Explorer-stil-dialogbokser Strengene katalog og filnavn er NULL atskilt, med en ekstra NULL-tegnet etter siste filnavnet. Dette formatet kan Explorer-stil-dialogbokser å gå tilbake til lange filnavn som inneholder mellomrom.
Gammel stil-dialogbokser Strengene katalog og filnavn er atskilt med mellomrom. For filnavn med mellomrom bruker funksjonen korte filnavn.

Du kan bruke den FindFirstFile -funksjonen til å konvertere mellom lange og korte filnavn.

Index