OPENFILENAME

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 

 

Члени

lStructSize
Вказує довжину, в байтах, структури.
hwndOwner
Визначає, що володіє діалогового вікна. Цей компонент може бути будь-яку ручку дійсний вікно, або це може бути значення NULL, якщо діалогове вікно не власник.
hInstance
Якщо в прапори член OFN_ENABLETEMPLATEHANDLE прапор, hInstance є дескриптор пам'яті об'єкт, що містить діалоговому вікні шаблон. Якщо OFN_ENABLETEMPLATE прапор, hInstance ідентифікує модуля, який містить діалоговому вікні шаблон з ім'ям lpTemplateName членом. Якщо ні прапор, цей компонент ігнорується.

Якщо OFN_EXPLORER прапор, система використовує вказаний шаблон для створення діалоговому вікні, що дитина діалогового вікна Explorer стиль за промовчанням. Якщо не встановлено прапор OFN_EXPLORER, система використовує шаблон для створення до старого стилю діалоговому вікні, що замінює діалогове вікно за замовчуванням.

lpstrFilter
Вказівник миші в буфер, що містять пар з нульовим фільтр рядків. Останній рядок у буфері повинна бути припинена на два символи NULL.

Перший рядок у кожної пари є рядок відображення, що описує фільтр (наприклад, "текстові файли"), а другий рядок визначає візерунок фільтр (наприклад, "*.TXT»). Щоб вказати кілька візерунків фільтра для відображення одного рядка, використовувати крапку з комою для розділення моделей (наприклад, "*.TXT; *.DOC; *.БАК"). Рядок зразку може бути комбінація знаків припустиме ім'я файлу та символ підстановки, зірочка (*). Не містять пробілів у рядок зразку.

Система не змінює порядок фільтрів. Це відображає їх у полі зі спискомтипів файлівв порядку, заданому в lpstrFilter .

Якщо lpstrFilter NULL, діалогове вікно не відображає будь-яких фільтрів.

lpstrCustomFilter
Вказівник на статичні буфер, який містить пару рядків нульовим фільтр для збереження фільтра візерунок, обрані користувачем. Перший рядок вашого рядок відображення, що описує Настроюваний фільтр, а другий рядок фільтр візерунок, обраних користувачем. Вперше заявку створює діалогове вікно, вкажіть першого рядка, яка може бути будь-який непорожня рядок. Коли користувач вибирає файлу, діалоговому вікні копіювання поточного шаблону фільтр другого рядка. Модель зберігся фільтр може бути однією з моделей, які визначені в буфер lpstrFilter , або він може бути фільтр візерунок, введене користувачем. Система використовує рядки ініціалізації користувача файл фільтр наступного разу створюється діалогового вікна. Якщо член nFilterIndex дорівнює нулю, діалогове вікно використовується Настроюваний фільтр.

Якщо цей компонент NULL, діалогове вікно не зберігає Користувацький фільтр моделей.

Якщо цей компонент не NULL, значення nMaxCustFilter член необхідно вказати розмір у байтах (Версія ANSI) або 16-бітних символів (Unicode версії), lpstrCustomFilter буфера.

nMaxCustFilter
Задає розмір, байтів або знаків, буфера, визначені lpstrCustomFilter. Цей буфер має бути щонайменше 40 символів. Цей компонент ігнорується, якщо lpstrCustomFilter є NULL або пунктів в рядок NULL.
nFilterIndex
Визначає індекс вибраного фільтра в елементі керування типами файлів. Буфер, вказав на lpstrFilter містить пар рядків, які визначають фільтри. Перша пара рядків має індекс значення 1, другий пару 2 і так далі. Індекс нуль позначає Користувальницькі фільтри, визначені lpstrCustomFilter. Ви можете вказати індекс на введення, щоб вказати початок фільтр опис і фільтр шаблон для діалогового вікна. Коли користувач вибирає файл, nFilterIndex повертає індекс поточну фільтр.

Якщо nFilterIndex дорівнює нулю, і lpstrCustomFilter є NULL, система використовує перший фільтр буфера lpstrFilter . Якщо всі три члени нуль або NULL, система не підтримує будь-які фільтри і не показувати будь-які файли у списку елемент керування файлу в діалоговому вікні.

lpstrFile
Вказівник миші в буфер, який містить ім'я файлу використовується для ініціалізації ім'я файлу редагувати елемент керування. Перший символ цей буфер має бути NULL, якщо ініціалізації не є необхідним. При GetOpenFileName або GetSaveFileName функція повертає успішно, цей буфер містить диск целеуказатель, шляху, ім'я файлу та розширення вибраного файлу.

Якщо встановити OFN_ALLOWMULTISELECT прапор, і користувач вибирає кілька файлів, буфер містить поточний каталог слідують імен файлів, вибраних файлів. Для Explorer стиль діалогових вікон рядків каталогу й ім'я файлу є NULL, розділені, з додаткових символів NULL після останнього ім'я файлу. Для старого стилю діалогових вікон рядки є місця розділені і використовуються короткі імена файлів для імен файлів із пробілами. Ви можете використовувати в FindFirstFile функції для перетворення між короткі та довгі імена файлів.

Якщо це занадто малий буфер, функція повертає значення Хибність, а функція CommDlgExtendedError повертає FNERR_BUFFERTOOSMALL. У цьому випадку перші два байти lpstrFile буфер містить потрібний розмір, в байтів або знаків.

nMaxFile
Визначає розмір у байтах (Версія ANSI) або 16-бітних символів (Unicode версії), буфера вказав на lpstrFile. GetOpenFileName і GetSaveFileName функції повертають Хибність, якщо буфер занадто малий, щоб містити інформацію про файл. Буфер має бути принаймні 256 символів.
lpstrFileTitle
Вказівник миші в буфер, який отримує ім'я файлу та розширення (без інформація шлях) вибраного файлу. Цей компонент може бути NULL.
nMaxFileTitle
Визначає розмір у байтах (Версія ANSI) або 16-бітних символів (Unicode версії), буфера вказав на lpstrFileTitle. Цей компонент ігнорується, якщо lpstrFileTitle є NULL.
lpstrInitialDir
Курсор в рядок, який визначає початковий файл каталогу.

Windows NT 5.0 і більш пізніх; Windows 98 а потім:

Якщо lpstrInitalDir є NULL і поточний каталог містить усі файли типів вказаний фільтр, Початок каталогу, поточний каталог.

Якщо lpstrInitalDir є NULL і поточний каталог не містить будь-які файли типів вказаний фільтр, початковий каталог є особисті файли каталогу поточного користувача. Для визначення поточного користувача на особисті файли каталогу як початок каталогу, встановити lpstrInitialDir до контуру, повернувся, зателефонувавши на SHGetSpecialFolderLocation функція з CSIDL_PERSONAL прапор.

Попередні версії Windows і Windows NT:

Якщо lpstrInitalDir NULL, початковий каталог є поточний каталог.

lpstrTitle
Курсор в рядок буде розміщена у рядку заголовка діалогового вікна. Якщо цей компонент 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
Визначає COLUMN зсув байтів (Версія ANSI) або 16-бітних символів (Unicode версії), з початку шлях до імені файлу в рядку вказав на lpstrFile. Наприклад, якщо lpstrFile вказує на наступні рядки, "c:\dir1\dir2\file.ext", цей компонент містить значення 13 вказати зсув рядок "file.ext".

Якщо користувач вибирає кілька файлів, nFileOffset є зсув на перший-ім'я файлу.

nFileExtension
Визначає COLUMN зсув байтів (Версія ANSI) або 16-бітних символів (Unicode версії), з самого початку шляху до розширення імені файлу в рядку вказав на lpstrFile. Наприклад, якщо lpstrFile вказує на наступні рядки, "c:\dir1\dir2\file.ext", цей компонент містить значення 18. Якщо користувач не введіть розширення і lpstrDefExt є NULL, цей компонент визначає зсув на припинення символ null. Якщо користувач набрав "." знак в імені файлу, цей компонент визначає нуль.
lpstrDefExt
Пункту до буфера, який містить розширення за замовчуванням. GetOpenFileName і GetSaveFileName додати це розширення до назви файлу, якщо користувач не зможе ввести розширення. Рядок може мати будь-якої довжини, але тільки перші три знаки додаються. Рядок не повинен містити крапку (.). Якщо цей компонент є NULL, і користувач не зможе ввести розширення, без розширення додається.
lCustData
Визначає визначений у застосунку дані, що система проходить процедура гачок, визначені lpfnHook член. Коли система надсилає повідомлення WM_INITDIALOG процедуру гачок, повідомлення lParam параметр це вказівник на структуру OPENFILENAME вказано, коли діалогове вікно було створено. Гачок процедуру можна використовувати вказівник для отримання значення lCustData.
lpfnHook
Вказівник на гачок процедури. Цей компонент ігнорується, якщо член прапори включає прапор OFN_ENABLEHOOK.

Якщо прапор OFN_EXPLORER не встановлено в член прапори , lpfnHook — це вказівник на OFNHookProcOldStyle гачок процедура, яка отримує повідомлення, надіслані діалогового вікна. Процедура гачок повертає FALSE, щоб передати повідомлення за промовчанням діалоговому вікні процедури або ВІРНИМ скасувати повідомлення.

Якщо OFN_EXPLORER, lpfnHook — це вказівник на гачок процедуру OFNHookProc . Процедура гачок отримує сповіщення про повідомлення, надіслані з діалогового вікна. Процедура гачок також отримує повідомлення для будь-яких додаткових елементів керування, визначеного, вказавши шаблон діалоговому дитини. Процедура гачок не отримувати повідомлення, надіслані для стандартних елементів керування діалогового вікна за замовчуванням.

lpTemplateName
Курсор в рядок з нульовим, що імена діалоговому шаблон ресурс в модулі, визначені членами hInstance . Для нумерованих діалоговому вікні ресурсів це може бути значення, що повертається функцією MAKEINTRESOURCE макрос. Цей компонент ігнорується, якщо OFN_ENABLETEMPLATE прапор встановлюється в член прапори.

Якщо OFN_EXPLORER прапор, система використовує вказаний шаблон для створення діалоговому вікні, що дитина діалогового вікна Explorer стиль за промовчанням. Якщо не встановлено прапор OFN_EXPLORER, система використовує шаблон для створення до старого стилю діалоговому вікні, що замінює діалогове вікно за замовчуванням.

QuickInfo

nbsp; Windows &NT: вимагає 3.1 або пізнішої версії.
Windows:Вимагає Windows 95 або пізнішої версії.
Windows CE:Потрібна Версія 1.0 або пізнішу версію.
Заголовка:Оголошена в commdlg.h.
Юнікод:Визначено як Unicode та ANSI структури.

Дивіться також

Загальний огляд бібліотеки діалогового вікна, Спільні діалоговому вікні структури, GetOpenFileName, GetSaveFileName, SHGetSpecialFolderLocation

Index