OPENFILENAME структура містить інформацію, що GetOpenFileName і GetSaveFileName функції використовувати ініціалізувати Відкрити або Зберегтияк Загальні діалогового вікна. Після того, як користувач закриває діалогове вікно, система повертає інформацію про вибір користувача у цій структурі .
typedef tagOFN типу struct {/ / 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 Прапори;
СЛОВО nFileOffset;
СЛОВО nFileExtension;
LPCTSTR lpstrDefExt;
DWORD lCustData;
LPOFNHOOKPROC lpfnHook;
LPCTSTR lpTemplateName;
} OPENFILENAME
Якщо OFN_EXPLORER прапор, система використовує вказаний шаблон для створення діалоговому вікні, що дитина діалогового вікна Explorer стиль за промовчанням. Якщо не встановлено прапор OFN_EXPLORER, система використовує шаблон для створення до старого стилю діалоговому вікні, що замінює діалогове вікно за замовчуванням.
Перший рядок у кожної пари є рядок відображення, що описує фільтр (наприклад, "текстові файли"), а другий рядок визначає візерунок фільтр (наприклад, "*.TXT»). Щоб вказати кілька візерунків фільтра для відображення одного рядка, використовувати крапку з комою для розділення моделей (наприклад, "*.TXT; *.DOC; *.БАК"). Рядок зразку може бути комбінація знаків припустиме ім'я файлу та символ підстановки, зірочка (*). Не містять пробілів у рядок зразку.
Система не змінює порядок фільтрів. Це відображає їх у полі зі спискомтипів файлівв порядку, заданому в lpstrFilter .
Якщо lpstrFilter NULL, діалогове вікно не відображає будь-яких фільтрів.
Якщо цей компонент NULL, діалогове вікно не зберігає Користувацький фільтр моделей.
Якщо цей компонент не NULL, значення nMaxCustFilter член необхідно вказати розмір у байтах (Версія ANSI) або 16-бітних символів (Unicode версії), lpstrCustomFilter буфера.
Якщо nFilterIndex дорівнює нулю, і lpstrCustomFilter є NULL, система використовує перший фільтр буфера lpstrFilter . Якщо всі три члени нуль або NULL, система не підтримує будь-які фільтри і не показувати будь-які файли у списку елемент керування файлу в діалоговому вікні.
Якщо встановити OFN_ALLOWMULTISELECT прапор, і користувач вибирає кілька файлів, буфер містить поточний каталог слідують імен файлів, вибраних файлів. Для Explorer стиль діалогових вікон рядків каталогу й ім'я файлу є NULL, розділені, з додаткових символів NULL після останнього ім'я файлу. Для старого стилю діалогових вікон рядки є місця розділені і використовуються короткі імена файлів для імен файлів із пробілами. Ви можете використовувати в FindFirstFile функції для перетворення між короткі та довгі імена файлів.
Якщо це занадто малий буфер, функція повертає значення Хибність, а функція CommDlgExtendedError повертає FNERR_BUFFERTOOSMALL. У цьому випадку перші два байти lpstrFile буфер містить потрібний розмір, в байтів або знаків.
Windows NT 5.0 і більш пізніх; Windows 98 а потім:
Якщо lpstrInitalDir є NULL і поточний каталог містить усі файли типів вказаний фільтр, Початок каталогу, поточний каталог.
Якщо lpstrInitalDir є NULL і поточний каталог не містить будь-які файли типів вказаний фільтр, початковий каталог є особисті файли каталогу поточного користувача. Для визначення поточного користувача на особисті файли каталогу як початок каталогу, встановити lpstrInitialDir до контуру, повернувся, зателефонувавши на SHGetSpecialFolderLocation функція з CSIDL_PERSONAL прапор.
Попередні версії Windows і Windows NT:
Якщо lpstrInitalDir NULL, початковий каталог є поточний каталог.
| Прапор | Значення |
|---|---|
| OFN_ALLOWMULTISELECT | |
| Визначає, що ім'я списку дозволяє Вибір кількох варіантів. Якщо ви також OFN_EXPLORER прапор, діалогове вікно використовує Explorer стиль інтерфейсу користувача; в іншому випадку, він використовує інтерфейс користувача старого стилю . Якщо користувач вибирає кілька файлів, lpstrFile буфер повертає шлях поточного каталогу слідує з назви файла вибраних файлів. NFileOffset -член має зсув байтів або знаків, на перший-ім'я файлу, і nFileExtension член не використовується. Для Explorer стиль діалогових вікон рядків каталогу й ім'я файлу є NULL, розділені, з додаткових символів NULL після останнього ім'я файлу. Цей формат дає Explorer стилі діалогів повернутися довгих імен файлів, які містять пробіли. Для старого стилю діалогових вікон каталогів та ім'я файлу рядки відокремлені пробілами та використовуються короткі імена файлів для імен файлів із пробілами. Ви можете використовувати в FindFirstFile функції для перетворення між короткі та довгі імена файлів. Якщо вказати настроюваний шаблон для діалогове старого стилю, визначення списку ім'я файлу може містити значення LBS_EXTENDEDSEL. |
|
| OFN_CREATEPROMPT | |
| Якщо користувач визначає файл, який не існує, цей прапор призводить до діалогового вікна запрошення ввести дозвіл на створення файлу. Якщо користувач вибирає для створення файлу, діалогове вікно закривається, і функція повертає вказаною назвою; в іншому випадку, діалогове вікно відкритим. Якщо ви використовуєте цей прапор з OFN_ALLOWMULTISELECT прапор, діалогове вікно дозволяє користувачеві визначити лише один файл не існує. | |
| OFN_ENABLEHOOK | |
| Вмикає функцію гачок у lpfnHook член. | |
| OFN_ENABLESIZING | |
| Windows NT 5.0, Windows 98:Надає можливість діалоговому вікні Explorer стилю, можна змінювати за допомогою миші або клавіатури. За замовчуванням діалогові вікна Explorer стиль Відкрити і Зберегти як дозволити діалоговому вікні можна змінювати незалежно від того, чи встановлено цю позначку. Цей прапор є необхідним, якщо ви надаєте гачок процедури або настроюваний шаблон. Діалогове вікно старого стилю не допускає зміну розміру. | |
| OFN_ENABLETEMPLATE | |
| Вказує, член lpTemplateName , що вказує на ім'я ресурсу шаблон діалогове вікно в модулі, визначені членами hInstance. Якщо OFN_EXPLORER прапор, система використовує вказаний шаблон для створення діалоговому вікні, що дитина діалогового вікна Explorer стиль за промовчанням. Якщо не встановлено прапор OFN_EXPLORER, система використовує шаблон для створення до старого стилю діалоговому вікні, що замінює діалогове вікно за замовчуванням. |
|
| OFN_ENABLETEMPLATEHANDLE | |
| Вказує на те, що hInstance член ідентифікує блок даних, яка містить попередньо діалоговому вікні шаблон. Система ігнорує lpTemplateName , якщо цей прапор. Якщо OFN_EXPLORER прапор, система використовує вказаний шаблон для створення діалоговому вікні, що дитина діалогового вікна Explorer стиль за промовчанням. Якщо не встановлено прапор OFN_EXPLORER, система використовує шаблон для створення до старого стилю діалоговому вікні, що замінює діалогове вікно за замовчуванням. |
|
| OFN_EXPLORER | |
| Вказує на те, що всі налаштування, зроблені в діалоговому вікні Відкрити або Зберегти як використовувати нові Explorer стиль налаштування методи. Докладніше перегляньте Explorer-стиль гачок процедур і Explorer-стиль настроюються шаблони. За промовчанням діалогових вікнах Відкрити та Зберегти як використовувати Explorer стиль інтерфейсу користувача, незалежно від того, чи встановлено цю позначку. Цей прапор є необхідним, якщо ви надаєте гачок процедури або настроюваний шаблон, або встановити прапор OFN_ALLOWMULTISELECT. Якщо потрібно старого стилю інтерфейсу, пропустити OFN_EXPLORER прапор і забезпечити заміну старого стилю шаблон або гачок процедури. Якщо ви хочете старий стиль, але не потрібен настроюваний шаблон або гачок процедури, просто надати гачок процедура, яка завжди повертає FALSE. |
|
| OFN_EXTENSIONDIFFERENT | |
| Визначає, що користувач ввів розширення імені файлу, що відрізняється від розширення, що визначений lpstrDefExt. Функція не використовує цей прапор, якщо lpstrDefExt є NULL. | |
| OFN_FILEMUSTEXIST | |
| Визначає, що користувач може ввести тільки імена наявних файлів в полі введенняімені файлу. Якщо вказано цей прапор, і користувач вводить ім'я, діалоговому вікні порядок відображає попередження, у вікні повідомлення. Якщо вказано цей прапор, OFN_PATHMUSTEXIST прапор використовується також . | |
| OFN_HIDEREADONLY | |
| Приховання читати лише прапорець. | |
| OFN_LONGNAMES | |
| Для старого стилю діалогових вікон цей прапор викликає діалоговому вікні використовувати довгі імена файлів. Якщо не вказано цей прапор або OFN_ALLOWMULTISELECT прапор також встановити, старого стилю діалогових вікнах використовувати короткі імена файлів (формату 8.3) для імен файлів із пробілами. Діалогові вікна Explorer стиль ігнорувати цей прапор і завжди відображати довгих імен файлів. |
|
| OFN_NOCHANGEDIR | |
| Відновлює поточний каталог його вихідне значення, якщо користувач змінив каталог при пошуку файлів. | |
| OFN_NODEREFERENCELINKS | |
| Керує діалоговому вікні повернутися шлях та ім'я файлу, вибраного ярлика (.Файл LNK). Якщо цей параметр не надано, діалогове вікно повертає шлях та ім'я файлу на файл посилання на ярлик | |
| OFN_NOLONGNAMES | |
| Для старого стилю діалогових вікон цей прапор викликає діалоговому вікні використовувати короткі імена файлів (формату 8.3). Діалогові вікна Explorer стиль ігнорувати цей прапор і завжди відображати довгих імен файлів. |
|
| OFN_NONETWORKBUTTON | |
| Приховання і деактивує кнопку мережі. | |
| OFN_NOREADONLYRETURN | |
| Визначає, що повернулися файл не має читати лише прапорець перевірив і не захищений каталогу. | |
| OFN_NOTESTFILECREATE | |
| Визначає, що файл не створено до закриття діалогового вікна. Цей прапор має бути вказано, якщо застосунок зберігає файл у спільній створити nonmodify. Коли програма визначає цей прапор бібліотеки не перевіряє для захисту від записування, повний диска, двері відкриті диска або захисту мережі. Застосунки, що використовують цей прапор має виконувати операції з файлами уважно, тому, що його не вдається відкрити файл, як тільки він закритий. | |
| OFN_NOVALIDATE | |
| Визначає, що загальних діалогових вікнах дозволяють неприпустимі символи в повернувся ім'я файлу. Зазвичай, програми використовує гачок процедура, яка перевіряє ім'я файлу за допомогою FILEOKSTRING повідомлення. Якщо текстове поле в елементі керування редагування пуста або містить пробіли, оновлюється список файлів і каталогів. Якщо текстове поле редагування елемента керування, у будь-якому іншому, nFileOffset і nFileExtension встановлюється значення, отримані шляхом аналізу тексту. Без розширення за промовчанням додається до тексту, а також текст скопійовано до буфера, який вказано на lpstrFileTitle. | |
| Якщо значення, визначене nFileOffset є меншим нуля, ім'я файлу неправильне. В іншому випадку вказано ім'я файлу, і nFileExtension і nFileOffset можуть бути використані, як якщо б не були вказані прапор OFN_NOVALIDATE. | |
| OFN_OVERWRITEPROMPT | |
| Причини діалогового вікна збереження як генерувати вікно повідомлення, якщо вибраний файл уже існує. Користувачеві необхідно підтвердити, чи потрібно перезаписати цей файл. | |
| OFN_PATHMUSTEXIST | |
| Визначає, що користувач може ввести припустиме контури та імен файлів. Якщо використовується цей прапор, і користувач вводить неприпустимі шлях та ім'я файлу в полі введенняімені файлу, діалоговому вікні функції відображає попередження, у вікні повідомлення . | |
| OFN_READONLY | |
| Причини читати лише прапорець Перевірка спочатку під час діалогового вікна. Цей прапор визначає стан читати лише прапорець, коли діалогове вікно закрито. | |
| OFN_SHAREAWARE | |
| Визначає, що якщо виклик на OpenFile функція не вдається з мережі, в зайнятого, помилка ігнорується, і діалоговому вікні повертає ім'я вибраного файлу. Якщо не встановлено цю позначку, діалогове вікно повідомляє вашої процедури гачок, коли у мережі в зайнятого відбувається на ім'я файлу, вказані користувачем. Якщо ви OFN_EXPLORER прапор, діалогове вікно надсилання повідомлення CDN_SHAREVIOLATION гачок процедури. Якщо ви не OFN_EXPLORER, діалогове вікно SHAREVISTRING зареєстрованих повідомлення надсилається до гачок процедури. |
|
| OFN_SHOWHELP | |
| Викликає діалогове вікно відображення кнопки допомогти . Член hwndOwner слід указати вікна, щоб отримувати HELPMSGSTRING зареєстрованих повідомлень, що діалогове вікно надсилання, коли користувач натискає кнопку Довідка. Діалогове вікно провідника стиль надсилає повідомлення про CDN_HELP DoCmd гачок, коли користувач натискає кнопку Довідка. |
|
Якщо користувач вибирає кілька файлів, nFileOffset є зсув на перший-ім'я файлу.
Якщо прапор OFN_EXPLORER не встановлено в член прапори , lpfnHook — це вказівник на OFNHookProcOldStyle гачок процедура, яка отримує повідомлення, надіслані діалогового вікна. Процедура гачок повертає FALSE, щоб передати повідомлення за промовчанням діалоговому вікні процедури або ВІРНИМ скасувати повідомлення.
Якщо OFN_EXPLORER, lpfnHook — це вказівник на гачок процедуру OFNHookProc . Процедура гачок отримує сповіщення про повідомлення, надіслані з діалогового вікна. Процедура гачок також отримує повідомлення для будь-яких додаткових елементів керування, визначеного, вказавши шаблон діалоговому дитини. Процедура гачок не отримувати повідомлення, надіслані для стандартних елементів керування діалогового вікна за замовчуванням.
Якщо OFN_EXPLORER прапор, система використовує вказаний шаблон для створення діалоговому вікні, що дитина діалогового вікна Explorer стиль за промовчанням. Якщо не встановлено прапор OFN_EXPLORER, система використовує шаблон для створення до старого стилю діалоговому вікні, що замінює діалогове вікно за замовчуванням.
nbsp; Windows &NT: вимагає 3.1 або пізнішої версії.
Windows:Вимагає Windows 95 або пізнішої версії.
Windows CE:Потрібна Версія 1.0 або пізнішу версію.
Заголовка:Оголошена в commdlg.h.
Юнікод:Визначено як Unicode та ANSI структури.
Загальний огляд бібліотеки діалогового вікна, Спільні діалоговому вікні структури, GetOpenFileName, GetSaveFileName, SHGetSpecialFolderLocation