Граф наследования:FileOpenSaveDialog:
Открытые члены | |
Execute ([out, retval] VARIANT_BOOL *pResult) | |
Метод отображает на экране диалоговое окно. | |
AddPlace ([in] BSTR Value,[in, defaultvalue("")] BSTR Name,[in, defaultvalue(0)] LONG Placement) | |
Добавляет папку в список мест выбора файлов. | |
Свойства | |
BSTR RW | DefaultExt [] |
Расширение файла по умолчанию, оно добавляется к имени файла в случае если пользователь не указал никакого расширения, данная строка не должна содержать точки вначале. | |
BSTR RW | Filter [] |
Фильтр для файлов, фильтр должен состоять пар строк, разделенных знаком “|”, прервая строка в паре описывает фильтр, вторая строка - маски файлов, разделенный знаком “;”, например “Text Files |*.txt;*.doc|All Files|*. | |
BSTR RW | FileName [] |
Перед отображением диалога на экране это свойство определяет начальный выбранный файл, после выбора другого файла пользователем это свойство изменяется на то что выбрал пользователь. | |
ULONG RW | Flags [] |
Свойство может быть комбинацией тех же значений как и параметр Flags у метода OpenDialog. | |
BSTR RW | Text [] |
Свойство определяет заголовок диалогового окна. | |
ULONG RW | FilterIndex [] |
Свойство определяет номер выбранного фильтра в выпадающем списке фильтров диалогового окна, минимальный номер 1. | |
BSTR RW | Directory [] |
Свойство определяет каталог для диалогового окна. | |
VARIANT_BOOL RW | OverwritePrompt [] |
Для диалогового окна сохранения файла устанавливает вывод предупреждающего диалога с запросом перезаписи файла в случае если файл с указанным именем существует. | |
VARIANT_BOOL RW | AllowMultiselect [] |
Разрешает выбирать несколько файлов. | |
VARIANT_BOOL RW | PathMustExist [] |
Пользователь должен указывать существующий путь. | |
VARIANT_BOOL RW | FileMustExist [] |
Пользователь может выбирать только существующие файлы. | |
VARIANT_BOOL RW | CreatePrompt [] |
В случае если пользователь выбрал несуществующий файл производится запрос у пользователя на разрешение создать новый файл. | |
VARIANT_BOOL RW | NoReadOnlyReturn [] |
Открываемый файл не должен быть только для чтения. | |
VARIANT_BOOL RW | NoTestFileCreate [] |
Указывает что файл не должен создаваться до закрытия диалогового окна, когда этот флаг указан не производится проверок на возможность записи на диск, наличия свободного места. | |
VARIANT_BOOL RW | NoDereferenceLinks [] |
Если указан этот флаг то в случае выбора ярлыка (*.LNK) возвращается имя этого файла, иначе того файла, на который ссылается ярлык. | |
VARIANT_BOOL RW | DontAddToRecent [] |
Windows 2000/XP и далее: не добавляет ссылку на этот файл в папку ранее открытых документов. | |
VARIANT_BOOL RW | ForceShowHidden [] |
Windows 2000/XP и далее: указывает чтобы системные и скрытые файлы всегда отображались. | |
VARIANT_BOOL RW | NoPlacesBar [] |
Если "TRUE", то панель с выбором часто используемых папок не отображается. | |
VARIANT_BOOL RW | ForceFileSystem [] |
Возвращаемые объекты должны быть файлами (SFGAO_FILESYSTEM). | |
VARIANT_BOOL RW | AllNonStorageItems [] |
Определяет, что пользователь может выбрать любой элемент, включая виртуальный (не SFGAO_STREAM, и не SFAGO_FILESYSTEM). | |
VARIANT_BOOL RW | HideMRUPlaces [] |
Скрывает список мест, из которых пользователь недавно выбирал файлы. | |
VARIANT_BOOL RW | HidePinnedPlaces [] |
Скрывает список предопределенных мест выбора файлов. | |
VARIANT_BOOL RW | DefaultNoMiniMode [] |
Определяет, что диалог сохранения файла всегда должен быть открыт в развернутом виде. | |
VARIANT_BOOL RW | ForcePreviewPaneOn [] |
Если "TRUE", то в диалоге открытия файла отображается панель предпросмотра. | |
IDispatch *R | FileNames [] |
Возвращает коллекцию, которая содержит список выбранных файлов. | |
BSTR RW | ClientGuid [] |
Определяет GUID для хранения настроек диалогового окна. | |
VARIANT W | OnCloseQuery [] |
Свойство позволяет задать обработчик события OnCloseQuery через 2-й уровень. | |
VARIANT W | OnChange [] |
Свойство позволяет задать обработчик события OnChange через 2-й уровень. | |
VARIANT W | OnFolderChange [] |
Свойство позволяет задать обработчик события OnFolderChange через 2-й уровень. | |
VARIANT W | OnTypeChange [] |
Свойство позволяет задать обработчик события OnTypeChange через 2-й уровень. | |
VARIANT W | OnHelp [] |
Свойство позволяет задать обработчик события OnHelp через 2-й уровень. |
В отличие от вызова функций OpenDialog и SaveDialog создание диалога с помощью объекта FileOpenSaveDialog позволяет изменить дополнительные параметры диалогового окна и определить обработчики событий, возникающих при действиях пользователя.
Создание: Метод формы CreateOpenDialog создает объект в виде диалога открытия файла, метод CreateSaveDialog создает объект в виде диалога сохранения файла.
События: объект поддерживает события группы FileOpenSaveDialogEvents.
Для появления диалога на экране следует вызвать метод Execute.
Диалог открытия файла Windows 2000/XP:
Пример (JScript):
o = new ActiveXObject("Scripting.WindowSystemObject") f = o.CreateForm(0,0,0,0) f.ClientWidth = 500 f.ClientHeight = 300 f.CenterControl() f.Text = "Text Editor" edit = f.CreateEdit(0,0,0,0) edit.Align = o.Translate("AL_CLIENT") edit.HideSelection = false edit.MultiLine = true edit.ScrollBars = o.Translate("SS_BOTH") fileMenu = f.Menu.Add("File") fileMenu.Add("Open","CTRL+O").OnExecute = FileOpen fileMenu.NewLine() fileMenu.Add("Exit","ESC").OnExecute = CloseFormHandler function FileOpen(sender) { var Dialog = f.CreateOpenDialog() Dialog.Filter = "Text Files (*.txt)|*.txt" Dialog.Text = "Select a text file" if (Dialog.Execute()) { var fileName = Dialog.FileName var fs = new ActiveXObject("Scripting.FileSystemObject") var file = fs.OpenTextFile(fileName,1,false) edit.Clear() edit.Text = file.ReadAll() } } f.Show() o.Run() function CloseFormHandler(sender) { sender.Form.Close() }
AddPlace | ( | [in] BSTR | Value, | |
[in, defaultvalue("")] BSTR | Name, | |||
[in, defaultvalue(0)] LONG | Placement | |||
) |
Добавляет папку в список мест выбора файлов.
Value | Путь папки. | |
Name | Название. | |
Placement | Расположение, может принимать одно из значений:
|
Execute | ( | [out, retval] VARIANT_BOOL * | pResult | ) |
Метод отображает на экране диалоговое окно.
VARIANT_BOOL RW AllNonStorageItems |
Определяет, что пользователь может выбрать любой элемент, включая виртуальный (не SFGAO_STREAM, и не SFAGO_FILESYSTEM).
Нельзя применять с FOS_FORCEFILESYSTEM.
Только для новых диалогов Windows Vista.
VARIANT_BOOL RW AllowMultiselect |
Разрешает выбирать несколько файлов.
IFileDialog, FOS_ALLOWMULTISELECT в MSDN.
BSTR RW ClientGuid |
Определяет GUID для хранения настроек диалогового окна.
Настройки могут включать в себя расположение, размер диалогового окна и папку, из которой был выбран файл при предыдущем использовании диалогового окна.
Только для новых диалоговых окон открытия и сохранения файла Windows Vista.
Пример:
o = new ActiveXObject("Scripting.WindowSystemObject") f = o.CreateForm(0,0,0,0) f.ClientWidth = 500 f.ClientHeight = 300 f.CenterControl() f.CreateButton(10,10,75,25,"Open 1").OnClick = function() { var Dialog = f.CreateOpenDialog() Dialog.Filter = "All files (*.*)|*.*" Dialog.ClientGuid = "10000000-0000-0000-0000-000000000000" if (Dialog.Execute()) { f.MessageBox(Dialog.FileName) } } f.CreateButton(100,10,75,25,"Open 2").OnClick = function() { var Dialog = f.CreateOpenDialog() Dialog.Filter = "All files (*.*)|*.*" Dialog.ClientGuid = "20000000-0000-0000-0000-000000000000" if (Dialog.Execute()) { f.MessageBox(Dialog.FileName) } } f.Show() o.Run()
VARIANT_BOOL RW CreatePrompt |
В случае если пользователь выбрал несуществующий файл производится запрос у пользователя на разрешение создать новый файл.
IFileDialog, FOS_CREATEPROMPT в MSDN.
BSTR RW DefaultExt |
Расширение файла по умолчанию, оно добавляется к имени файла в случае если пользователь не указал никакого расширения, данная строка не должна содержать точки вначале.
VARIANT_BOOL RW DefaultNoMiniMode |
Определяет, что диалог сохранения файла всегда должен быть открыт в развернутом виде.
BSTR RW Directory |
Свойство определяет каталог для диалогового окна.
Если текущая папка виртуальная, то возвращается пустая строка.
VARIANT_BOOL RW DontAddToRecent |
Windows 2000/XP и далее: не добавляет ссылку на этот файл в папку ранее открытых документов.
IFileDialog, FOS_DONTADDTORECENT в MSDN.
VARIANT_BOOL RW FileMustExist |
Пользователь может выбирать только существующие файлы.
IFileDialog, FOS_PATHMUSTEXIST в MSDN.
BSTR RW FileName |
Перед отображением диалога на экране это свойство определяет начальный выбранный файл, после выбора другого файла пользователем это свойство изменяется на то что выбрал пользователь.
IDispatch* R FileNames |
Возвращает коллекцию, которая содержит список выбранных файлов.
Можно использовать только в обработчике события OnCloseQuery или после вызова метода Execute.
Пример:
o = new ActiveXObject("Scripting.WindowSystemObject") f = o.CreateForm(0,0,0,0) f.ClientWidth = 500 f.ClientHeight = 300 f.CenterControl() f.CreateButton(10,10,75,25,"Open").OnClick = function() { var Dialog = f.CreateOpenDialog() Dialog.AllowMultiSelect = true Dialog.Filter = "All files (*.*)|*.*" if (Dialog.Execute()) { var FileNames = Dialog.FileNames var Str = "" for (var i = 0; i<FileNames.Count; i++) { Str += FileNames.item(i) Str += "\r\n" } f.MessageBox(Str) } } f.Show() o.Run()
BSTR RW Filter |
Фильтр для файлов, фильтр должен состоять пар строк, разделенных знаком “|”, прервая строка в паре описывает фильтр, вторая строка - маски файлов, разделенный знаком “;”, например “Text Files |*.txt;*.doc|All Files|*.
*”, не включайте пробелы в маски
ULONG RW FilterIndex |
Свойство определяет номер выбранного фильтра в выпадающем списке фильтров диалогового окна, минимальный номер 1.
ULONG RW Flags |
Свойство может быть комбинацией тех же значений как и параметр Flags у метода OpenDialog.
VARIANT_BOOL RW ForceFileSystem |
Возвращаемые объекты должны быть файлами (SFGAO_FILESYSTEM).
Только для новых диалогов Windows Vista.
VARIANT_BOOL RW ForcePreviewPaneOn |
Если "TRUE", то в диалоге открытия файла отображается панель предпросмотра.
VARIANT_BOOL RW ForceShowHidden |
Windows 2000/XP и далее: указывает чтобы системные и скрытые файлы всегда отображались.
IFileDialog, FOS_FORCESHOWHIDDEN в MSDN.
VARIANT_BOOL RW HideMRUPlaces |
Скрывает список мест, из которых пользователь недавно выбирал файлы.
VARIANT_BOOL RW HidePinnedPlaces |
Скрывает список предопределенных мест выбора файлов.
VARIANT_BOOL RW NoDereferenceLinks |
Если указан этот флаг то в случае выбора ярлыка (*.LNK) возвращается имя этого файла, иначе того файла, на который ссылается ярлык.
IFileDialog, FOS_NODEREFERENCELINKS в MSDN.
VARIANT_BOOL RW NoPlacesBar |
Если "TRUE", то панель с выбором часто используемых папок не отображается.
Не применяется для новых диалогов Windows Vista.
VARIANT_BOOL RW NoReadOnlyReturn |
Открываемый файл не должен быть только для чтения.
IFileDialog, FOS_NOREADONLYRETURN в MSDN.
VARIANT_BOOL RW NoTestFileCreate |
Указывает что файл не должен создаваться до закрытия диалогового окна, когда этот флаг указан не производится проверок на возможность записи на диск, наличия свободного места.
IFileDialog, FOS_NOTESTFILECREATE в MSDN.
VARIANT W OnChange |
Свойство позволяет задать обработчик события OnChange через 2-й уровень.
VARIANT W OnCloseQuery |
Свойство позволяет задать обработчик события OnCloseQuery через 2-й уровень.
Пример (JScript):
o = new ActiveXObject("Scripting.WindowSystemObject") o.EnableVisualStyles = true f = o.CreateForm(0,0,0,0) f.Text = "WSO" f.ClientWidth = 200 f.ClientHeight = 100 f.CenterControl() Button = f.CreateButton(120,70,75,25,"Close") Button.OnClick = CloseForm f.OnCloseQuery = OnCloseQuery f.Show() o.Run() function CloseForm(Sender) { f.Close() } function OnCloseQuery(Sender,ResultPtr) { if (f.MessageBox("Close form?","",o.Translate("MB_OKCANCEL | MB_ICONQUESTION")) != o.Translate("IDOK")) ResultPtr.Put(false) }
VARIANT W OnFolderChange |
Свойство позволяет задать обработчик события OnFolderChange через 2-й уровень.
VARIANT W OnHelp |
Свойство позволяет задать обработчик события OnHelp через 2-й уровень.
VARIANT W OnTypeChange |
Свойство позволяет задать обработчик события OnTypeChange через 2-й уровень.
VARIANT_BOOL RW OverwritePrompt |
Для диалогового окна сохранения файла устанавливает вывод предупреждающего диалога с запросом перезаписи файла в случае если файл с указанным именем существует.
IFileDialog, FOS_OVERWRITEPROMPT в MSDN.
VARIANT_BOOL RW PathMustExist |
Пользователь должен указывать существующий путь.
IFileDialog, FOS_PATHMUSTEXIST в MSDN.
BSTR RW Text |
Свойство определяет заголовок диалогового окна.