OPENFILENAME

OPENFILENAME štruktúra obsahuje informácie o GetOpenFileName a GetSaveFileName funkcie použiť na inicializáciu Otvoriť alebo Uložiťako spoločné dialógové okno. Po používateľ zavrie dialógové okno, sa systém vráti informácie o používateľovi výber v tejto štruktúre .

tYPEDEF struct tagOFN {/ / ofn 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 Vlajky; 
    SLOVO nFileOffset; 
    SLOVO nFileExtension; 
    LPCTSTR lpstrDefExt; 
    DWORD lCustData; 
    LPOFNHOOKPROC lpfnHook; 
    LPCTSTR lpTemplateName; 
} OPENFILENAME 
 

Členovia

lStructSize
Určuje dĺžku v bajtoch konštrukcie.
hwndOwner
Identifikuje okna, že vlastní dialógového okna. Tento člen môže byť akékoľvek platné okno rukoväť, alebo môže mať hodnotu NULL, ak dialógovom okne žiadne vlastníka.
hInstance
Ak v členských štátoch vlajky je nastavený príznak OFN_ENABLETEMPLATEHANDLE, hInstance je rukoväť pamäte objekt obsahujúci šablónu dialógové okno pole. Ak je nastavený príznak OFN_ENABLETEMPLATE hInstance identifikuje modul, ktorý obsahuje dialógové okno pole šablónu s názvom členskými lpTemplateName . Ak ani vlajky je nastavený tento člen sa ignoruje.

Ak je nastavený príznak OFN_EXPLORER, systém použije zadaná šablóna vytvoriť dialógové okno je dieťa dialógovom okne predvolený štýl Explorer. Ak nie je nastavený príznak OFN_EXPLORER, systém použije šablónu na vytvorenie old-štýl dialógovým oknom, ktorý nahrádza predvolené dialógovým oknom.

lpstrFilter
Ukazovateľ do medzipamäte obsahujúce párov zakončený filtra reťazce. Posledného reťazca v medzipamäti musí byť ukončené dvomi znakmi NULL.

Prvý reťazec v každej dvojice je displej reťazec, ktorý popisuje filtra (napríklad "textové súbory") a druhý reťazec určuje vzorec filtra (napríklad „*.TXT"). Chcete zadať viacero filtrov vzory pre reťazec jednej obrazovky, použite bodkočiarku separovali modely (napríklad „*.TXT; *.DOC; *.BAK"). Vzor reťazec môže byť kombináciou znakov platný názov súboru a zástupný znak hviezdička **. Neobsahujú medzery v štruktúre reťazec.

Systém sa nemení poradí filtrov. Zobrazuje ich v poli so zoznamomtypov súborovv slede špecifikovanom v lpstrFilter .

Ak lpstrFilter hodnotu NULL, dialógovom okne nezobrazí žiadne filtre.

lpstrCustomFilter
Smerník na statické medzipamäť, ktorá obsahuje pár zakončený filtra reťazce na konzervovanie vzorec filtra užívateľ zvolil. Prvý reťazec je váš displej reťazec, ktorý popisuje vlastný filter a druhým reťazcom je používateľ vybral vzorec filtra. Prvýkrát aplikácia vytvorí dialógovom okne môžete zadať prvý reťazec, ktorý môže byť akýkoľvek reťazec Neprázdna. Keď používateľ vyberie súbor, dialógovom okne skopíruje aktuálny vzorec filtra druhého reťazca. Konzervované filtra model môže byť jedným z modelov uvedených v lpstrFilter medzipamäte, alebo môže byť vzorec filtra zadané užívateľom. Systém používa struny inicializovať definované používateľom vložka filter pri ďalšom dialógovom okne je vytvorený. Ak člen nFilterIndex nula, dialógovom okne používa vlastný filter.

Ak má tento člen hodnotu NULL, dialógovom okne nezachová definované používateľom filtra vzory.

Ak tento člen nie je NULL, hodnoty člena nMaxCustFilter zadať veľkosť v bajtoch (ANSI verzia) alebo 16-bitové znaky (Unicode verzia), lpstrCustomFilter medzipamäte.

nMaxCustFilter
Určuje veľkosť v bajtoch alebo znakov označená lpstrCustomFiltermedzipamäte. Tento tlmivý roztok by mal byť aspoň 40 znakov. Tento člen sa ignoruje, ak lpstrCustomFilter je NULL alebo bodov na reťazec hodnotu NULL.
nFilterIndex
Určuje index aktuálne vybratý filtra v ovládacom prvku typy súborov. Medzipamäť poukázal na lpstrFilter obsahuje páry reťazce, ktoré definujú filtre. Prvý pár reťazce má hodnotou indexu 1, druhá dvojica 2 a tak ďalej. Index nula označuje vlastný filter špecifikuje lpstrCustomFilter. Na vstupe uviesť popis a prefiltrujte vzorec počiatočné filtra pre dialógového okna môžete zadať index. Keď používateľ vyberie súbor, nFilterIndex vráti index zobrazenej filtra.

Ak nFilterIndex je nula a lpstrCustomFilter má hodnotu NULL, systém použije prvého filtra v lpstrFilter medzipamäte. Ak všetci traja členovia sú nula alebo NULL, systém nepoužíva žiadne filtre a nevykazuje žiadne súbory ovládací prvok zoznamu súborov dialógového okna.

lpstrFile
Ovládací prvok na úpravu ukazovateľa medzipamäť, ktorá obsahuje názov súboru používa na inicializáciu názov súboru. Prvý znak Tento tlmivý roztok musí byť NULL, ak Inicializácia nie je potrebné. Keď úspešne vráti funkcia GetOpenFileName alebo GetSaveFileName , Tento tlmivý roztok obsahuje jednotku označovacím, cestu, názov súboru a rozšírenie vybratého súboru.

Ak používateľ vyberie viacero súborov, je nastavený príznak OFN_ALLOWMULTISELECT, medzipamäť obsahuje aktuálny adresár nasleduje názvy súborov vybratých súborov. Explorer-štýl dialógových oknách, adresára a súboru struny sú NULL oddelené s mimoriadne nulovým znakom po poslednom filename. Old-štýl dialógových oknách struny sú priestoru oddelené a táto funkcia používa krátke názvy súborov s medzerami. Môžete použiť FindFirstFile funkciu Konvertova+n medzi dlhé a krátke názvy súborov.

Ak medzipamäť je príliš malá, funkcia vráti hodnotu NEPRAVDA a funkcia CommDlgExtendedError vráti FNERR_BUFFERTOOSMALL. V tomto prípade prvé dva bajty tlmivý roztok lpstrFile obsahovať požadovanú veľkosť v bajtoch alebo znaky.

nMaxFile
Určuje veľkosť v bajtoch (ANSI verzia) alebo 16-bitové znaky (Unicode verzia), tlmivého roztoku poukázal na lpstrFile. Funkcie GetOpenFileName a GetSaveFileName vráti FALSE ak medzipamäť je príliš malá na obsahujú informácie o súbore. Tlmivý roztok by mal byť najmenej 256 znakov.
lpstrFileTitle
Ukazovateľ medzipamäť, ktorá dostane názov súboru a príponu (bez informácie o ceste) vybratý súbor. Tento člen môže mať hodnotu NULL.
nMaxFileTitle
Určuje veľkosť v bajtoch (ANSI verzia) alebo 16-bitové znaky (Unicode verzia), tlmivého roztoku poukázal na lpstrFileTitle. Tento člen sa ignoruje, ak lpstrFileTitle je NULL.
lpstrInitialDir
Smerník na reťazec, ktorý určuje počiatočné súboru adresára.

Systém Windows NT, verzia 5.0 a vyššia; Systém Windows 98 a novší:

Ak aktuálny adresár obsahuje všetky súbory typov zadaný filter, lpstrInitalDir má hodnotu NULL, počiatočné adresár je aktuálny adresár.

Ak aktuálny adresár neobsahuje žiadne súbory typov zadaný filter, lpstrInitalDir má hodnotu NULL, počiatočné adresár je osobné súbory adresára pre aktuálneho používateľa. Na určenie aktuálneho používateľa osobné súbory adresára ako počiatočné adresár, nastaviť lpstrInitialDir cestu odoslal volanie SHGetSpecialFolderLocation funkcie s CSIDL_PERSONAL vlajkou.

Staršie verzie systému Windows a Windows NT:

Ak lpstrInitalDir hodnotu NULL, počiatočné adresár je aktuálny adresár.

lpstrTitle
Ukazovateľ reťazca umiestniť v záhlaví dialógového okna. Ak má tento člen hodnotu NULL, systém použije predvolený názov (to znamená, Uložiť ako alebo Otvoriť).
Príznaky
Množina bitové príznaky, ktoré môžete použiť pri inicializácii dialógového okna. Keď dialógovom okne vráti, stanovuje tieto príznaky označovať vstup používateľa. Tento člen môže byť kombináciou nasledovné príznaky:
Vlajka Význam
OFN_ALLOWMULTISELECT
Určuje, že zoznamenázov súboruumožňuje viacnásobný výber. Ak nastavíte OFN_EXPLORER vlajkou, dialógovom okne používa Explorer-štýl používateľského rozhrania; v opačnom prípade použije old-štýl používateľského rozhrania .

Ak používateľ vyberie viacero súborov, parameter buffer lpstrFile vráti cestu do aktuálneho adresára nasleduje názvy súborov vybratých súborov. NFileOffset člen je posun v bajtoch alebo znaky, názov prvého súboru a nFileExtension člen nie je používaný. Explorer-štýl dialógových oknách, adresára a súboru struny sú NULL oddelené s mimoriadne nulovým znakom po poslednom filename. Tento formát umožňuje Explorer-štýl okná vrátiť dlhých názvov súborov, ktoré obsahujú medzery. Old-štýl dialógových okien, adresára a súboru struny sú oddelené medzerami a táto funkcia používa krátke názvy súborov s medzerami. Môžete použiť FindFirstFile funkciu Konvertova+n medzi dlhé a krátke názvy súborov.

Ak určíte vlastnú šablónu pre staré-štýl dialógovým oknom, definícia zozname Názov súboru musí obsahovať hodnotu LBS_EXTENDEDSEL.

OFN_CREATEPROMPT
Ak používateľ Určuje súbor, ktorý neexistuje, táto vlajka spôsobuje dialógovom okne vyzve používateľa povolenie na vytvorenie súboru. Ak sa používateľ rozhodne vytvoriť súbor, dialógové okno zavrie a funkcia vráti zadaný názov; v opačnom prípade dialógovom okne zostane otvorená. Ak použijete túto vlajku s OFN_ALLOWMULTISELECT vlajkou, dialógovom okne umožňuje používateľovi zadať iba jeden neexistujúci súbor.
OFN_ENABLEHOOK
Umožňuje funkciu háku špecifikované v členských štátoch lpfnHook.
OFN_ENABLESIZING
Windows NT 5.0, systém Windows 98:Umožňuje dialógovom okne Prieskumník štýl to be resized pomocou myši alebo klávesnice. V predvolenom nastavení dialógových oknách Explorer-štýl Otvoriť a Uložiť ako umožňujú zobrazovať dialógové okno na veľkosť nezávisle od či nastaviť túto vlajku. Tento príznak je potrebná, iba ak ste poskytli príslušná procedúra alebo vlastnú šablónu. Old-štýl dialógovým oknom nepovoľuje zmenu veľkosti.
OFN_ENABLETEMPLATE
Označuje členský lpTemplateName , že poukazuje na názov dialógového okna šablóny prostriedku v module identifikované členskými hInstance.

Ak je nastavený príznak OFN_EXPLORER, systém použije zadaná šablóna vytvoriť dialógové okno je dieťa dialógovom okne predvolený štýl Explorer. Ak nie je nastavený príznak OFN_EXPLORER, systém použije šablónu na vytvorenie old-štýl dialógovým oknom, ktorý nahrádza predvolené dialógovým oknom.

OFN_ENABLETEMPLATEHANDLE
Označuje členský hInstance identifikuje dátový blok obsahuje šablóny předpjatý dialógové okno pole. Systém ignoruje lpTemplateName , ak táto vlajka je zadaná.

Ak je nastavený príznak OFN_EXPLORER, systém použije zadaná šablóna vytvoriť dialógové okno je dieťa dialógovom okne predvolený štýl Explorer. Ak nie je nastavený príznak OFN_EXPLORER, systém použije šablónu na vytvorenie old-štýl dialógovým oknom, ktorý nahrádza predvolené dialógovým oknom.

OFN_EXPLORER
Označuje, že všetky prispôsobenia sa dialógové okno Otvoriť alebo Uložiť ako využíval nové metódy kustomizace Explorer-štýl. Ďalšie informácie nájdete v témach Explorer-štýl háku postupy a Explorer-štýl vlastné šablóny.

V predvolenom nastavení použiť dialógových oknách Otvoriť a Uložiť ako Explorer-štýl používateľského rozhrania bez ohľadu na to či je nastaviť túto vlajku. Tento príznak je potrebné len vtedy, ak príslušná procedúra alebo vlastnú šablónu, alebo nastaviť príznak OFN_ALLOWMULTISELECT.

Ak chcete old-štýl používateľského rozhrania, vynechajte OFN_EXPLORER vlajkou a poskytnúť náhradné old-štýl šablóny alebo háčik postupu. Ak chcete starý štýl, ale nie potrebujú vlastnú šablónu alebo háčik postupu, jednoducho poskytnúť príslušná procedúra, ktorá vždy vráti hodnotu FALSE.

OFN_EXTENSIONDIFFERENT
Určuje, že užívateľ napísali prípona, ktorá sa odlišuje od rozšírenia špecifikuje lpstrDefExt. Funkcia nepoužíva túto vlajku, ak lpstrDefExt je NULL.
OFN_FILEMUSTEXIST
Určuje, že používateľ môžete zadať iba názvy existujúce súbory do poľa pre zápisnázvu súboru. Ak táto vlajka je špecifikovaná a používateľ zadá neplatný názov políčka postup dialógové okno zobrazí upozornenie v okne správy. Ak táto vlajka je zadaná, OFN_PATHMUSTEXIST vlajka je stále používaná .
OFN_HIDEREADONLY
Skryje čítať iba začiarkavacie políčko.
OFN_LONGNAMES
Old-štýl dialógových oknách, tento príznak spôsobuje dialógovom okne použiť dlhé názvy súborov. Ak táto vlajka nie je určená, alebo ak aj je nastavený príznak OFN_ALLOWMULTISELECT, staré-štýl dialógových oknách používať krátke názvy súborov (vo formáte 8.3) pre názvy súborov medzerou.

Program Explorer-štýl dialógových okien ignorovať tento príznak a vždy zobrazovať dlhých názvov súborov.

OFN_NOCHANGEDIR
Obnoví aktuálny adresár na svojej pôvodnej hodnoty Ak používateľ zmenil adresári počas vyhľadávania súborov.
OFN_NODEREFERENCELINKS
Nasmeruje dialógovom okne vráti cestu a názov súboru vybraných odkazov (.Súbor .lnk.). Ak táto hodnota nie je udaný, dialógovom okne vráti cestu a názov súboru odkazuje odkaz
OFN_NOLONGNAMES
Old-štýl dialógových oknách, tento príznak spôsobuje dialógovom okne použite krátke názvy súborov (vo formáte 8.3).

Program Explorer-štýl dialógových okien ignorovať tento príznak a vždy zobrazovať dlhých názvov súborov.

OFN_NONETWORKBUTTON
Kože a vypína tlačidlo sieť.
OFN_NOREADONLYRETURN
Určuje, že výsledného súboru nemá čítať iba začiarkavacie políčko skontrolovať a nie je chránená proti zápisu adresára.
OFN_NOTESTFILECREATE
Určuje, že súbor sa nevytvorí, pred zatvorenom dialógovom. Táto vlajka by malo byť špecifikované, ak uplatňovanie uloží súbor ako zdieľanú sieťovú položku vytvoriť nonmodify. Keď aplikácia určuje tento príznak knižnice nekontroluje odstránenou ochranou proti zápisu, plný disk, otvorte dvierka alebo sieť ochrany. Aplikácie používajúce túto vlajku Riešitelia súbor operácií opatrne, pretože súbor nemožno opätovne akonáhle je zatvorený.
OFN_NOVALIDATE
Určuje, že bežných dialógových umožniť neplatné znaky vrátené filename. Zvyčajne sa Volajúca aplikácia používa príslušná procedúra, že kontroluje názov súboru pomocou FILEOKSTRING správy. Ak blok textu v ovládacom prvku úpravy je prázdna alebo obsahuje nič, ale medzery, sú aktualizované zoznamy súborov a adresárov. Ak blok textu v ovládacom prvku upraviť obsahuje niečo, nFileOffset a nFileExtension sa nastavia na hodnoty generované parsování text. Žiadna predvolená prípona sa pridáva k textu ani textu skopíruje do medzipamäte špecifikuje lpstrFileTitle.
Ak hodnotu určenú vo vlastnosti Autor nFileOffset je menší ako nula, názov súboru je neplatný. V opačnom prípade názov súboru je platný a nFileExtension a nFileOffset môžu byť použité ako keby príznak OFN_NOVALIDATE nebol zadaný.
OFN_OVERWRITEPROMPT
Spôsobuje dialógovom okne Uložiť ako generovať okno s hlásením, ak vybraný súbor už existuje. Používateľ musí potvrdiť, či sa má prepísať súbor.
OFN_PATHMUSTEXIST
Určuje, že používateľ zadať iba platné cesty a názvov súborov. Ak používateľ zadá Neplatná cesta a názov súboru do poľa pre zápisnázvu súboru, táto vlajka je používaná, dialógové okno pole funkcia zobrazí upozornenie v okne správy .
OFN_READONLY
Spôsobí, že čítať iba políčko skontrolovať najprv novovytvorený dialógovým oknom. Tento príznak udáva štátu čítať iba začiarkavacie políčko zatvorenom dialógovom okne.
OFN_SHAREAWARE
Určuje, že ak výzva na súbor funkcia zlyhá z dôvodu siete porušenie zdieľania, chyba sa ignoruje a dialógovom okne vráti vybratého súboru.

Ak nie je tento príznak, dialógového okna upozorní príslušná procedúra, keď sieť porušenie zdieľania vyskytuje súboru stanovenú používateľom. Ak ste nastavili príznak OFN_EXPLORER, dialógovom okne odošle hlásenie CDN_SHAREVIOLATION aby príslušná procedúra. Ak nenastavíte OFN_EXPLORER, dialógové okno sa odošle správa registrovaných SHAREVISTRING príslušná procedúra.

OFN_SHOWHELP
Spôsobuje dialógovom okne zobraziť tlačidlo Pomocník . HwndOwner člen musí špecifikovať okno prijímať HELPMSGSTRING registrované správy, že keď používateľ klikne na tlačidlo Pomocník sa pošle dialógového okna.

Dialógové okno Prieskumník-štýl odošle hlásenie oznámenia CDN_HELP príslušná procedúra keď používateľ klikne na tlačidlo Pomocník.


nFileOffset
Určuje zero-based posun v bajtoch (ANSI verzia) alebo 16-bitové znaky (Unicode verzia), od začiatku cesta k súboru v reťazci poukázal na lpstrFile. Napríklad, ak lpstrFile poukazujú na nasledovný reťazec, "c:\dir1\dir2\file.ext", tento člen obsahuje hodnotu 13 označovať kompenzovať reťazec "file.ext".

Ak používateľ vyberie viacero súborov, nFileOffset je posun prvého súboru.

nFileExtension
Určuje zero-based posun v bajtoch (ANSI verzia) alebo 16-bitové znaky (Unicode verzia), od začiatku cestu k prípona v reťazci poukázal na lpstrFile. Napríklad, ak lpstrFile poukazujú na nasledovný reťazec, "c:\dir1\dir2\file.ext", tento člen obsahuje hodnotu 18. Ak používateľ urobil nenapísali predĺženie a lpstrDefExt má hodnotu NULL, tento člen určuje offset koncový znak null. Ak užívateľ napísali "." ako posledný znak názvu súboru tohto člena určuje nula.
lpstrDefExt
Body do medzipamäte, ktorá obsahuje predvolenú príponu. GetOpenFileName a GetSaveFileName pripojiť toto rozšírenie do súboru Ak užívateľ neplní zadajte príponu. Tento reťazec môže byť ľubovoľnej dĺžky, ale len prvé tri znaky sú pripojené. Reťazec by nemala obsahovať bodku (.). Ak užívateľ neplní napíšte príponu, tento člen má hodnotu NULL, predĺženie je priložená.
lCustData
Určuje definovanom aplikáciou údaje, ktoré systém odovzdá príslušná procedúra identifikované členskými lpfnHook . Keď systém odošle hlásenie WM_INITDIALOG príslušná procedúra, správu lParam parameter je smerník na štruktúru OPENFILENAME uvedené, kedy bol vytvorený dialógového okna. Príslušná procedúra môžete použiť tento ukazovateľ na získanie hodnoty lCustData.
lpfnHook
Ukazovateľ postupu háčik. Tento člen sa ignoruje pokiaľ vlajky členských zahŕňa príznak OFN_ENABLEHOOK.

Ak nie je nastavený príznak OFN_EXPLORER v členských štátoch vlajok , lpfnHook je smerník na OFNHookProcOldStyle príslušná procedúra, ktorá prijíma správy určené pre dialógového okna. Príslušná procedúra vráti hodnotu FALSE odovzdať správu postupu predvoleného dialógového okna poľa alebo hodnotu TRUE na zrušiť správu.

Ak je nastavený OFN_EXPLORER, lpfnHook je smerník na OFNHookProc príslušná procedúra. Príslušná procedúra prijíma oznámenia správy odoslané z dialógového okna. Príslušná procedúra dostáva správy o akýchkoľvek dodatočných kontrol, definovanom zadaním dieťa dialógovom okne Šablóny. Príslušná procedúra nebude prijímať správy určené pre štandardnej ovládacie dialógové okno predvoleného.

lpTemplateName
Ukazovateľ na reťazec zakončený, že názvy prostriedok dialógového okna šablóny modulu identifikované členskými hInstance . Pre číslované dialógové okno pole zdroje, to môže byť hodnota odoslal MAKEINTRESOURCE makro. Tento člen sa ignoruje, pokiaľ nie je v členských štátoch vlajky je nastavený príznak OFN_ENABLETEMPLATE.

Ak je nastavený príznak OFN_EXPLORER, systém použije zadaná šablóna vytvoriť dialógové okno je dieťa dialógovom okne predvolený štýl Explorer. Ak nie je nastavený príznak OFN_EXPLORER, systém použije šablónu na vytvorenie old-štýl dialógovým oknom, ktorý nahrádza predvolené dialógovým oknom.

Stručné informácie

nbsp; Systém Windows &NT: vyžaduje verzia 3.1 alebo novšia.
Windows:Vyžaduje systém Windows 95 alebo novším.
Windows CE:Vyžaduje verziu 1.0 alebo novšiu verziu.
Hlavičky:Deklarovaný v commdlg.h.
Unicode:Definovaný formát Unicode a ANSI štruktúry.

Pozri tiež

Spoločné Prehľad dialógového okna Knižnica, spoločné Dialog Box štruktúry, GetOpenFileName, GetSaveFileName, SHGetSpecialFolderLocation

Index