OPENFILENAME -strukturen inneholder informasjon som GetOpenFileName og GetSaveFileName -funksjoner bruker til å initialisere en dialogboksen Åpne eller Lagresom vanlig. Når brukeren lukker dialogboksen, returnerer systemet informasjon om brukerens valg i denne strukturen .
typeDef struct tagOFN {/ / ØFN DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCTSTR lpstrFilter;
LPTSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPTSTR lpstrFile;
DWORD nMaxFile;
LPTSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCTSTR lpstrInitialDir;
LPCTSTR lpstrTitle;
DWORD Flagg;
WORD nFileOffset;
WORD nFileExtension;
LPCTSTR lpstrDefExt;
DWORD lCustData;
LPOFNHOOKPROC lpfnHook;
LPCTSTR lpTemplateName;
} OPENFILENAME
Hvis flagget OFN_EXPLORER er angitt, bruker systemet den oppgitte malen til å opprette en dialogboks som er underordnet dialogboksen standard Explorer-stil. Hvis flagget OFN_EXPLORER ikke er angitt, bruker systemet malen til å opprette en gammel stil dialogboks som erstatter dialogboksen standard.
Den første strengen i hvert par er en skjerm-streng som beskriver filteret (for eksempel "tekstfiler"), og den andre strengen angir filtermønsteret (for eksempel "*.TXT»). Hvis du vil angi flere filter-mønstre for en enkelt visningsstreng, kan du bruke et semikolon til å skille mønstre (for eksempel "*.TXT; *.DOC; *.BAK"). En Mønsterstreng kan være en kombinasjon av gyldig filnavn karakterer og jokertegnet stjerne(*). Inneholde ikke mellomrom i Mønsterstreng.
Systemet vil ikke endre rekkefølgen på filtrene. Det viser dem i filen typer kombinasjonsboksen i rekkefølgen som er angitt i lpstrFilter.
Hvis lpstrFilter er NULL, vises ikke dialogboksen filtre.
Hvis dette medlemmet er NULL, beholder ikke dialogboksen Brukerdefinert filteret mønstre.
Hvis dette medlemmet ikke er NULL, må verdien av medlemmet nMaxCustFilter angi størrelsen, i byte (ANSI-versjonen) eller 16-biters tegn (Unicode-versjon), av lpstrCustomFilter -buffer.
Hvis nFilterIndex er null, og lpstrCustomFilter er NULL, bruker systemet det første filteret i lpstrFilter -bufferen. Hvis alle tre medlemmer er null eller NULL, systemet bruker ikke filtre og viser ikke noen filer i listekontrollen fil i dialogboksen.
Hvis flagget OFN_ALLOWMULTISELECT er angitt, og brukeren velger flere filer, inneholder gjeldende mappe etterfulgt av filnavnene til de valgte filene i bufferen. For Explorer-stil dialogbokser er katalog og filnavn strengene NULL atskilt, med en ekstra NULL-tegnet etter siste filnavnet. For gammeldagse dialogbokser, strengene er delt med mellomrom og bruker funksjonen korte filnavn for filnavn med mellomrom. Du kan bruke den FindFirstFile -funksjonen til å konvertere mellom lange og korte filnavn.
Hvis bufferen er for liten, funksjonen returnerer USANN, og returnerer funksjonen CommDlgExtendedError FNERR_BUFFERTOOSMALL. I dette tilfellet inneholder de første to bytene i bufferen lpstrFile den påkrevde størrelsen, i byte eller tegn.
Windows NT 5.0 og senere; Windows 98 og senere:
Hvis lpstrInitalDir er NULL, og gjeldende mappe inneholder alle filer av angitt filterinformasjon-typer, er første katalogen gjeldende mappe.
Hvis lpstrInitalDir er NULL, og gjeldende mappe inneholder ikke alle filer av angitt filterinformasjon-typer, er katalogen første personlige filer katalogen til gjeldende bruker. Angi den gjeldende brukerens personlige filer katalog som den opprinnelige katalogen, angir lpstrInitialDir til banen som returneres ved å kalle den SHGetSpecialFolderLocation -funksjonen med flagget CSIDL_PERSONAL.
Tidligere versjoner av Windows og Windows NT:
Hvis lpstrInitalDir er NULL, er den opprinnelige katalogen gjeldende mappe.
Flagg | Betydning |
---|---|
OFN_ALLOWMULTISELECT | |
Angir at listeboksen filen navnet tillater flere valg. Hvis du også angir flagget OFN_EXPLORER, bruker dialogboksen brukergrensesnittet Explorer-stil; Hvis ikke, det bruker gammeldagse-brukergrensesnitt. Hvis brukeren velger mer enn én fil, returnerer lpstrFile bufferen banen til gjeldende mappe som er etterfulgt av filnavnene til de valgte filene. Det nFileOffset er forskyvningen i byte eller tegn, til første filnavnet, og brukes ikke nFileExtension -medlem. For Explorer-stil dialogbokser er katalog og filnavn strengene NULL atskilt, med en ekstra NULL-tegnet etter siste filnavnet. Dette formatet kan Explorer-stil-dialogbokser å gå tilbake til lange filnavn som inneholder mellomrom. For gammeldagse dialogbokser, katalog og filnavn strengene er atskilt med mellomrom og bruker funksjonen korte filnavn for filnavn med mellomrom. Du kan bruke den FindFirstFile -funksjonen til å konvertere mellom lange og korte filnavn. Hvis du angir en egendefinert mal for en gammel stil-dialogboks, må definisjonen av boksen Filnavn-listen inneholde LBS_EXTENDEDSEL-verdi. |
|
OFN_CREATEPROMPT | |
Hvis brukeren angir en fil som ikke finnes, fører dette flagget til dialogboksen for å be brukeren om tillatelse til å opprette filen. Hvis brukeren velger å opprette filen, dialogboksen lukkes, og funksjonen returnerer det angitte navnet; Ellers, dialogboksen forblir åpen. Hvis du bruker dette flagget med flagget OFN_ALLOWMULTISELECT, kan dialogboksen brukeren angi bare én ikke-eksisterende fil. | |
OFN_ENABLEHOOK | |
Aktiverer bindingsfunksjon som er angitt i lpfnHook -medlem. | |
OFN_ENABLESIZING | |
Windows NT 5.0, Windows 98:Aktiverer dialogboksen Explorer-stil for å endre størrelse ved hjelp av enten musen eller tastaturet. Som standard at dialogboksene Explorer-stil Åpne og Lagre som dialogboksen for å endre størrelsen uansett om dette flagget er angitt. Dette flagget er bare nødvendig hvis du oppgir en hook-prosedyre eller en egendefinert mal. Dialogboksen gammeldagse tillater ikke endring av størrelse. | |
OFN_ENABLETEMPLATE | |
Angir at medlemmet lpTemplateName peker til navnet på en ressurs for dialogboksen mal i modulen identifisert av hInstance -medlemmet. Hvis flagget OFN_EXPLORER er angitt, bruker systemet den oppgitte malen til å opprette en dialogboks som er underordnet dialogboksen standard Explorer-stil. Hvis flagget OFN_EXPLORER ikke er angitt, bruker systemet malen til å opprette en gammel stil dialogboks som erstatter dialogboksen standard. |
|
OFN_ENABLETEMPLATEHANDLE | |
Angir at medlemmet hInstance identifiserer en datablokk som inneholder en mal for forhåndslagrede dialogboksen-boksen. Systemet ignorerer lpTemplateName Hvis dette flagget er angitt. Hvis flagget OFN_EXPLORER er angitt, bruker systemet den oppgitte malen til å opprette en dialogboks som er underordnet dialogboksen standard Explorer-stil. Hvis flagget OFN_EXPLORER ikke er angitt, bruker systemet malen til å opprette en gammel stil dialogboks som erstatter dialogboksen standard. |
|
OFN_EXPLORER | |
Indikerer at alle tilpasninger som er gjort i dialogboksen Åpne eller Lagre som bruker metodene for tilpasning av nye Explorer-stil. Hvis du vil ha mer informasjon, kan du se Explorer-stil Hook prosedyrer og Explorer-stil egendefinerte maler. Som standard bruker dialogboksene Åpne og Lagre som Explorer-stil-brukergrensesnittet uansett om dette flagget er angitt. Dette flagget er nødvendig hvis du gir en hook-prosedyre eller en egendefinert mal, eller angi flagget OFN_ALLOWMULTISELECT. Hvis du vil gammeldagse brukergrensesnittet, utelater flagget OFN_EXPLORER og tilbyr en erstatning gammeldagse mal eller hekte prosedyren. Hvis du vil bruke den gamle stilen, men ikke trenger en egendefinert mal eller hekte prosedyren, bare gi en Bindingsprosedyren som alltid returnerer USANN. |
|
OFN_EXTENSIONDIFFERENT | |
Angir at brukeren har skrevet inn en filendelse som er forskjellig fra utvidelsen som er angitt av lpstrDefExt. Funksjonen bruker ikke dette flagget hvis lpstrDefExt er NULL. | |
OFN_FILEMUSTEXIST | |
Angir at brukeren kan skrive inn bare navnene på eksisterende filer i oppføringen i feltet navn . Hvis dette flagget er angitt, og brukeren angir et ugyldig navn, vises det en advarsel i den dialogboks boksen prosedyren i en meldingsboks. Hvis dette flagget er angitt, brukes også OFN_PATHMUSTEXIST-flagg . | |
OFN_HIDEREADONLY | |
Skjuler lese bare merket for. | |
OFN_LONGNAMES | |
For gammeldagse dialogbokser at dette flagget dialogboksen for å bruke lange filnavn. Hvis dette flagget ikke er angitt, eller hvis flagget OFN_ALLOWMULTISELECT er også angitt, bruker gammeldagse dialogbokser korte filnavn (8.3-format) for filnavn med mellomrom. Explorer-stil-dialogbokser ignorerer dette flagget og alltid vise lange filnavn. |
|
OFN_NOCHANGEDIR | |
Gjenoppretter den gjeldende katalogen til originalverdien Hvis brukeren endret katalogen mens du søker etter filer. | |
OFN_NODEREFERENCELINKS | |
Angir at dialogboksen for å gå tilbake til banen og filnavnet på den valgte snarveien (.LNK)-fil. Hvis denne verdien ikke er gitt, returnerer dialogboksen den banen og filnavnet til referert av filen snarveien | |
OFN_NOLONGNAMES | |
For gammeldagse dialogbokser at dette flagget dialogboksen for å bruke korte filnavn (8.3-format). Explorer-stil-dialogbokser ignorerer dette flagget og alltid vise lange filnavn. |
|
OFN_NONETWORKBUTTON | |
Skjuler og deaktiverer knappen nettverk. | |
OFN_NOREADONLYRETURN | |
Angir at returnerte filen har ikke lese bare merket for kontrollert og er ikke i en skrivebeskyttet mappe. | |
OFN_NOTESTFILECREATE | |
Angir at filen ikke opprettes før dialogboksen er lukket. Dette flagget bør være angitt hvis programmet lagrer filen på en delt nettverksressurs i Opprett-nonmodify. Når et program angir dette flagget, kontrollerer ikke biblioteket for skrivebeskyttelsen, en i sin helhet diskett, åpne stasjonsdøren eller nettverksbeskyttelse. Programmer som bruker dette flagget må utføre filoperasjoner nøye, fordi en fil ikke kan åpnes på nytt når den er lukket. | |
OFN_NOVALIDATE | |
Angir at de vanlige dialogboksene tillate ugyldige tegn i det returnerte filnavnet. Det oppkallende programmet bruker vanligvis en Bindingsprosedyren som kontrollerer filnavnet ved hjelp av FILEOKSTRING-meldingen. Hvis tekstboksen i redigeringskontrollen er tom eller inneholder ingenting men mellomrom, oppdateres lister over filer og mapper. Hvis tekstboksen i redigeringskontrollen inneholder noe annet, er nFileOffset og nFileExtension satt til verdiene som er generert av analyse av teksten. Ingen standard filtype legges til teksten, og heller ikke tekst som er overført til bufferen som er angitt av lpstrFileTitle. | |
Hvis verdien som angis av nFileOffset er mindre enn null, vil filnavnet er ugyldig. Ellers filnavnet er gyldig, og nFileExtension og nFileOffset kan brukes som om de flagget OFN_NOVALIDATE ikke hadde angitt. | |
OFN_OVERWRITEPROMPT | |
Fører til dialogboksen Lagre som for å generere en meldingsboks, hvis den valgte filen finnes allerede. Brukeren må bekrefte om du vil overskrive filen. | |
OFN_PATHMUSTEXIST | |
Angir at brukeren kan skrive inn bare gyldig baner og filnavn. Hvis dette flagget brukes og brukeren skriver inn en ugyldig bane og filnavn i feltet oppføringennavn , viser funksjonen dialogboksen-boksen en advarsel i en meldingsboks . | |
OFN_READONLY | |
Fører til lese bare merket for som skal kontrolleres først når dialogboksen er opprettet. Dette flagget angir tilstanden til lese bare merket for når dialogboksen er lukket. | |
OFN_SHAREAWARE | |
Angir at hvis et kall til den OpenFile , funksjon mislykkes på grunn av et nettverk som deler overtredelse, feilen ignoreres og dialogboksen returnerer den valgte filnavnet. Hvis dette flagget ikke er angitt, vil dialogboksen varsler hook-prosedyre når et nettverk delingstillatelse oppstår for filnavnet som er angitt av brukeren. Hvis du angir OFN_EXPLORER-flagg, sender dialogboksen CDN_SHAREVIOLATION meldingen til hook-prosedyre. Hvis du ikke angir OFN_EXPLORER, sender dialogboksen SHAREVISTRING registrerte meldingen til Bindingsprosedyren. |
|
OFN_SHOWHELP | |
Fører til dialogboksen for å vise Hjelp -knappen. HwndOwner -medlem må angi i vinduet for å motta HELPMSGSTRING registrert meldinger som dialogboksen sender når brukeren klikker Hjelp -knappen. Dialogboksen en Explorer-stil sender en varslingsmelding CDN_HELP til hook-prosedyre når brukeren klikker Hjelp -knappen. |
Hvis brukeren velger flere filer, er nFileOffset forskyvningen til første filnavnet.
Hvis flagget OFN_EXPLORER ikke er angitt i flagg -medlem, er lpfnHook en peker til en OFNHookProcOldStyle hook-prosedyre som mottar meldinger som er ment for dialogboksen. Bindingsprosedyren returnerer USANN for å sende en melding til standard dialogboksen boksen prosedyre eller sann til forkaste meldingen.
Hvis OFN_EXPLORER er angitt, er lpfnHook en peker til en OFNHookProc hook-prosedyre. Bindingsprosedyren mottar varselmeldinger som er sendt fra dialogboksen. Bindingsprosedyren også mottar meldinger for eventuelle ekstra kontroller som du har definert ved å angi en mal for barn-dialogboksen. Bindingsprosedyren mottar ikke meldinger som er ment for standardkontroller i dialogboksen standard.
Hvis flagget OFN_EXPLORER er angitt, bruker systemet den oppgitte malen til å opprette en dialogboks som er underordnet dialogboksen standard Explorer-stil. Hvis flagget OFN_EXPLORER ikke er angitt, bruker systemet malen til å opprette en gammel stil dialogboks som erstatter dialogboksen standard.
nbsp; Windows &NT: krever versjon 3.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Krever versjon 1.0 eller senere.
Topptekst:Deklarert i commdlg.h.
Unicode:Definert som Unicode- og ANSI-strukturer.
Felles biblioteket dialogboksoversikt, felles dialogboksen boksen strukturer, GetOpenFileName, GetSaveFileName, SHGetSpecialFolderLocation