Интерфейс FileOpenSaveDialog

Объект FileOpenSaveDialog позволяет управлять диалогами выбора файла для открытия или сохранения документа. Подробнее...

Граф наследования:FileOpenSaveDialog:

Inheritance graph
Граф связей класса FileOpenSaveDialog:

Collaboration graph
Полный список членов класса

Открытые члены

 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-й уровень.

Подробное описание

Объект FileOpenSaveDialog позволяет управлять диалогами выбора файла для открытия или сохранения документа.

В отличие от вызова функций OpenDialog и SaveDialog создание диалога с помощью объекта FileOpenSaveDialog позволяет изменить дополнительные параметры диалогового окна и определить обработчики событий, возникающих при действиях пользователя.

Создание: Метод формы CreateOpenDialog создает объект в виде диалога открытия файла, метод CreateSaveDialog создает объект в виде диалога сохранения файла.

События: объект поддерживает события группы FileOpenSaveDialogEvents.

Для появления диалога на экране следует вызвать метод Execute.

См. также:
WindowSystemObject::EnableVistaFileDialog.
Диалог открытия файла Windows Vista:

FileOpen2.jpg

Диалог открытия файла Windows 2000/XP:

FileOpen.jpg

Пример (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()
}



Заметки:
Если WindowSystemObject::EnableVistaFileDialog = FALSE то будут использованы функции GetOpenFileName/GetSaveFileName (см. MSDN). Если WindowSystemObject::EnableVistaFileDialog = TRUE то будут использованы IFileOpenDialog/IFileSaveDialog в Windows Vista и последующих версиях Windows, а GetOpenFileName/GetSaveFileName будут использоваться в предыдущих версиях Windows.


Методы

AddPlace ( [in] BSTR  Value,
[in, defaultvalue("")] BSTR  Name,
[in, defaultvalue(0)] LONG  Placement 
)

Добавляет папку в список мест выбора файлов.

Аргументы:
Value Путь папки.
Name Название.
Placement Расположение, может принимать одно из значений:
  • 0 в конец списка,
  • 1 в начало.
Только для новых диалоговых окон открытия и сохранения файла Windows Vista.

Начиная с:
1.1.16.

Execute ( [out, retval] VARIANT_BOOL *  pResult  ) 

Метод отображает на экране диалоговое окно.


Полный список свойств

VARIANT_BOOL RW AllNonStorageItems

Определяет, что пользователь может выбрать любой элемент, включая виртуальный (не SFGAO_STREAM, и не SFAGO_FILESYSTEM).

Нельзя применять с FOS_FORCEFILESYSTEM.

Только для новых диалогов Windows Vista.

См. также:
IFileDialog, FOS_ALLNONSTORAGEITEMS в MSDN.
По умолчанию "FALSE".

Начиная с:
1.1.16.

VARIANT_BOOL RW AllowMultiselect

Разрешает выбирать несколько файлов.

См. также:
OPENFILENAME, OFN_ALLOWMULTISELECT в MSDN.

IFileDialog, FOS_ALLOWMULTISELECT в MSDN.

По умолчанию "FALSE".

Начиная с:
1.1.16.

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()

См. также:
IFileDialog::SetClientGuid в MSDN.
Начиная с:
1.1.16.

VARIANT_BOOL RW CreatePrompt

В случае если пользователь выбрал несуществующий файл производится запрос у пользователя на разрешение создать новый файл.

См. также:
OPENFILENAME, OFN_CREATEPROMPT в MSDN.

IFileDialog, FOS_CREATEPROMPT в MSDN.

По умолчанию "FALSE".

Начиная с:
1.1.16.

BSTR RW DefaultExt

Расширение файла по умолчанию, оно добавляется к имени файла в случае если пользователь не указал никакого расширения, данная строка не должна содержать точки вначале.

VARIANT_BOOL RW DefaultNoMiniMode

Определяет, что диалог сохранения файла всегда должен быть открыт в развернутом виде.

См. также:
IFileDialog, FOS_DEFAULTNOMINIMODE в MSDN.
По умолчанию "FALSE".

Начиная с:
1.1.16.

BSTR RW Directory

Свойство определяет каталог для диалогового окна.

Если текущая папка виртуальная, то возвращается пустая строка.

VARIANT_BOOL RW DontAddToRecent

Windows 2000/XP и далее: не добавляет ссылку на этот файл в папку ранее открытых документов.

См. также:
OPENFILENAME, OFN_DONTADDTORECENT в MSDN.

IFileDialog, FOS_DONTADDTORECENT в MSDN.

По умолчанию "FALSE".

Начиная с:
1.1.16.

VARIANT_BOOL RW FileMustExist

Пользователь может выбирать только существующие файлы.

См. также:
OPENFILENAME, OFN_PATHMUSTEXIST в MSDN.

IFileDialog, FOS_PATHMUSTEXIST в MSDN.

По умолчанию "FALSE".

Начиная с:
1.1.16.

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()

См. также:
AllowMultiselect.
Начиная с:
1.1.16.

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.

См. также:
IFileDialog, FOS_FORCEFILESYSTEM в MSDN.
По умолчанию "TRUE".

Начиная с:
1.1.16.

VARIANT_BOOL RW ForcePreviewPaneOn

Если "TRUE", то в диалоге открытия файла отображается панель предпросмотра.

См. также:
IFileDialog, FOS_FORCEPREVIEWPANEON в MSDN.
По умолчанию "FALSE".

Начиная с:
1.1.16.

VARIANT_BOOL RW ForceShowHidden

Windows 2000/XP и далее: указывает чтобы системные и скрытые файлы всегда отображались.

См. также:
OPENFILENAME, OFN_FORCESHOWHIDDEN в MSDN.

IFileDialog, FOS_FORCESHOWHIDDEN в MSDN.

По умолчанию "FALSE".

Начиная с:
1.1.16.

VARIANT_BOOL RW HideMRUPlaces

Скрывает список мест, из которых пользователь недавно выбирал файлы.

См. также:
IFileDialog, FOS_HIDEMRUPLACES в MSDN.
По умолчанию "FALSE".

Начиная с:
1.1.16.

VARIANT_BOOL RW HidePinnedPlaces

Скрывает список предопределенных мест выбора файлов.

См. также:
IFileDialog, FOS_HIDEPINNEDPLACES в MSDN.
По умолчанию "FALSE".

Начиная с:
1.1.16.

VARIANT_BOOL RW NoDereferenceLinks

Если указан этот флаг то в случае выбора ярлыка (*.LNK) возвращается имя этого файла, иначе того файла, на который ссылается ярлык.

См. также:
OPENFILENAME, OFN_NODEREFERENCELINKS в MSDN.

IFileDialog, FOS_NODEREFERENCELINKS в MSDN.

По умолчанию "FALSE".

Начиная с:
1.1.16.

VARIANT_BOOL RW NoPlacesBar

Если "TRUE", то панель с выбором часто используемых папок не отображается.

Не применяется для новых диалогов Windows Vista.

См. также:
OPENFILENAME, OFN_EX_NOPLACESBAR в MSDN.
По умолчанию "FALSE".

VARIANT_BOOL RW NoReadOnlyReturn

Открываемый файл не должен быть только для чтения.

См. также:
OPENFILENAME, OFN_NOREADONLYRETURN в MSDN.

IFileDialog, FOS_NOREADONLYRETURN в MSDN.

По умолчанию "FALSE".

Начиная с:
1.1.16.

VARIANT_BOOL RW NoTestFileCreate

Указывает что файл не должен создаваться до закрытия диалогового окна, когда этот флаг указан не производится проверок на возможность записи на диск, наличия свободного места.

См. также:
OPENFILENAME, OFN_NOTESTFILECREATE в MSDN.

IFileDialog, FOS_NOTESTFILECREATE в MSDN.

По умолчанию "FALSE".

Начиная с:
1.1.16.

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

Для диалогового окна сохранения файла устанавливает вывод предупреждающего диалога с запросом перезаписи файла в случае если файл с указанным именем существует.

См. также:
OPENFILENAME, OFN_OVERWRITEPROMPT в MSDN.

IFileDialog, FOS_OVERWRITEPROMPT в MSDN.

По умолчанию "FALSE".

Начиная с:
1.1.16.

VARIANT_BOOL RW PathMustExist

Пользователь должен указывать существующий путь.

См. также:
OPENFILENAME, OFN_PATHMUSTEXIST в MSDN.

IFileDialog, FOS_PATHMUSTEXIST в MSDN.

По умолчанию "FALSE".

Начиная с:
1.1.16.

BSTR RW Text

Свойство определяет заголовок диалогового окна.


Документация по WSO 1.1. Последние изменения:Wed Aug 12 18:10:42 2015. (C) Веретенников А. Б. 2004-2015