Структура OPENFILENAME
Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustomFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As String
lpstrFileTitle As String
nMaxFileTitle As String
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
OPENFILENAME-переменные работают с двумя диалоговыми окнами Windows, GetOpenFileName and GetSaveFileName. Эта структура используется как и для передачи информации функции, так и для возвращения данных от нее
Состав структуры
- lStructSize
- Размер переменной в байтах (используйте функцию Len () )
- hwndOwner
- Дескриптор окна, открывающего диалоговое окно
- hInstance
- При использовании шаблона диалогового окна, это - дескриптор к блоку памяти шаблона диалогового окна. При использовании заданного по умолчанию диалогового окна, установите в 0
- lpstrFilter
- Записи в поле Тип файлов. Формат строки - " название типа файла " & vbNullChar & "маска" & vbNullChar ... для многих типов, где название типа файла - текст, который появляется в списке и маска - маска расширения. Строка должна закончиваться двойным vbNullChar
- lpstrCustomFilter
- Сходен с lpstrFilter, но содержит только один тип файла / маску, определяемые пользователем. Если не используется, установите как пустую строку
- nMaxCustFilter
- Размер строки в байтах, содержащейся в lpstrCustomFilter
- nFilterIndex
- Номер (#1, #2 и т.д.) данных структуры,определяемых lpstrFilter должен быть задан по умолчанию
- lpstrFile
- Установите это как ряд пробелов. Получает законченный путь и имя файла файла (ов), выбранных пользователем. Если выбрано несколько файлов, каждое имя файла отделено vbNullChar, и вся строка закончивается двойным vbNullChar
- nMaxFile
- Длина в символах lpstrFile
- lpstrFileTitle
- Очень похоже на lpstrFile, но получает только имя выбранного файла
- nMaxFileTitle
- Длина в символах lpstrFileTitle
- lpstrInitialDir
- Основная папка для поиска
- lpstTitle
- Текст, который появляется в заголовке диалогового окна
- flags
- Нуль или большее количество следующих флажков, определяющих, как создавать файловое диалоговое окно. Некоторые из этих флажков будут установлены функцией после запроса пользователя
- OFN_ALLOWMULTISELECT = &H200
- Разрешение пользователю выбирать несколько файлов (только для окна Выбор файла)
- OFN_CREATEPROMPT = &H2000
- Предложение, если выбран несуществующий файл
- OFN_ENABLEHOOK = &H20
- Используйте функцию, указанную lpfnHook, чтобы обработать сообщения диалогового окна
- OFN_ENABLETEMPLATE = &H40
- Используйте шаблон диалогового окна,определенный hInstanceи lpTemplateName.
- OFN_ENABLETEMPLATEHANDLE = &H80
- Используйте предварительно загруженный шаблон диалогового окна, указанный в hInstance.
- OFN_EXTENSIONDIFFERENT = &H400
- Функция устанавливает этот флажок, если пользователь выбирает файл расширением, отличным от указанной переменной lpstrDefExt
- OFN_FILEMUSTEXIST = &H1000
- Разрешен выбор только существующих файлов
- OFN_HIDEREADONLY = &H4
- Скрыть флажок Только чтения (только для диалогового окна Открытие файла).
- OFN_NOCHANGEDIR = &H8
- Не меняйте текущий каталог Windows для соответствия выбранному в диалоговом окне
- OFN_NODEREFERENCELINKS = &H100000
- Если выбран ярлык(.lnk или .pif), возвращается непосредственно ярлык вместо файла или папки.
- OFN_NONETWORKBUTTON = &H20000
- Скрыть и отключить кнопку Network в диалоговом окне
- OFN_NOREADONLYRETURN = &H8000
- Функция устанавливает этот флажок, если выбранный файл не только для чтения (только для диалогового окна Открытие файла)
- OFN_NOVALIDATE = &H100
- Не отмечать имя файла c запрещенными символами
- OFN_OVERWRITEPROMPT = &H2
- Запрос пользователю, если выбранный файл уже существует (только для диалогового окна Сохранение файла)
- OFN_PATHMUSTEXIST = &H800
- Разрешен выбор только существующих путей
- OFN_READONLY = &H1
- Отметить поле Открыть только для чтения. Этот флажок установливается после вызова функции, если поле отмечено после нажатия OK пользователем
- OFN_SHAREAWARE = &H4000
- Игнорирование любых ошибок совместного доступа файла
- OFN_SHOWHELP = &H10
- Показ кнопки Справка в диалоговом окне
- nFileOffet
- Получает отсчитываемый от нуля индекс, определяющий,где кончается имя пути и начинается имя файла lpstrFile
- nFileExtension
- Получает отсчитываемый от нуля индекс, определяющий, где начинается расширение файла lpstrFile
- lpstrDefExt
- Заданное по умолчанию расширение файла (только для диалогового окна Сохранение файла). Если файл выбран с маской *.*, файл получает это расширение
- lCustData
- Информация для передачи функции обработчика прерываний, указанной в lpfnHook
- lpfnHook
- Укажите на функцию обработчика прерываний, которая обрабатывает сообщения диалогового окна. Функция должна возвратить 0, чтобы передать сообщение назад к диалоговому окну и 1, чтобы не передавать. При не использовании функции обработчика прерываний, установите в 0
- lpTemplateName
- Имя шаблона диалогового окна, указанного в hInstance
Используется в: GetOpenFileName, GetSaveFileName