Åpne og lagre som dialogbokser

Dialogboksen Åpne lar brukeren angi stasjonen, katalog, og navnet på en fil eller et sett med filer for å åpne. Du kan opprette og vise en åpen dialogboks ved initialisering av en OPENFILENAME struktur og sender strukturen til GetOpenFileName -funksjonen.

Dialogboksen Lagre som lar brukeren angi stasjon, katalog og navnet på en fil for å lagre. Du kan opprette og vise en Lagre som -dialogboksen ved initialisering av en OPENFILENAME struktur og sender strukturen til GetSaveFileName -funksjonen.

Begynner med Windows 95 og Windows NT versjon 4.0, inneholder en ny versjon av dialogboksene Åpne og Lagre som -brukergrensesnittet-funksjoner som ligner Windows Utforsker. Systemet fortsetter imidlertid å støtte de gammeldagse dialogboksene Åpne og Lagre som for programmer som må være i samsvar med eldre brukergrensesnittet.

I tillegg til forskjellen i utseende, Explorer-stil og gammeldagse dialogbokser er forskjellige i sin bruk av egendefinerte maler og krok fremgangsmåter for tilpassing av dialogboksene. Men har den gammeldagse dialogboksene og Explorer-stil samme virkemåte for mest grunnleggende operasjoner, for eksempel å angi et filnavn filter, validerer brukerens inndata, og får filnavnet som er angitt av brukeren. Hvis du vil ha mer informasjon om Explorer-stil og gammeldagse dialogbokser, se Åpne og lagre som dialogboksen boksen tilpasning.

Følgende illustrasjon viser en typisk Explorer-stil Åpne dialogboksen.

Følgende illustrasjon viser en typisk Explorer-stil Lagre som -dialogboksen.

Hvis brukeren angir et filnavn og klikker på OK -knappen, returnerer GetOpenFileName eller GetSaveFileName sann. Bufferen pekes til av lpstrFile -medlemmet av den OPENFILENAME -strukturen inneholder hele banen og filnavnet som er angitt av brukeren.

Hvis brukeren avbryter dialogboksen Åpne eller Lagre som , eller det oppstår en feil, returnerer funksjonen USANN. Hvis du vil finne årsaken til feilen, kall CommDlgExtendedError -funksjonen til å hente verdien utvidet feil. Hvis lpstrFile -bufferen er for liten til å motta det fullstendige navnet, returnerer CommDlgExtendedError FNERR_BUFFERTOOSMALL og de første 2 bytene i bufferen pekes til av lpstrFile -medlemmet er satt til en heltallsverdi som angir størrelsen som kreves for å få det fullstendige navnet.

Explorer stil dialogbokser er bare tilgjengelig for 32-biters programmer. 16-biters programmer kan ikke bruke thunking til å vise en dialogboks for Explorer-stil.

Windows 95 og Windows 98: Win32-baserte programmer som bruker gammeldagse dialogboksene gjøre det ved hjelp av en thunk. Dette betyr at alle pekeren som er sendt til din Bindingsprosedyren er en ikke permanent kopi av dataene. For eksempel er OPENFILENAME -pekeren som er sendt WM_INITDIALOG meldingen ikke en peker til bufferen som du opprinnelig angav. Hvis du må sende privat data til hook-prosedyre, pakke det i en struktur og lagre en peker til strukturen i lCustData -medlem av OPENFILENAME -struktur.

Index