# fsys.dlg 库模块帮助文档

## fsys.dlg 成员列表 <a id="fsys.dlg" href="#fsys.dlg">&#x23;</a>

系统文件对话框。  

请注意：文件对话框会改变当前目录，导致相对路径（例如 "./res/"）位置变化。  
路径首字符用单个斜杠或反斜杠表示「应用程序根目录」的写法更可靠，  
例如：（例如 "/res/"）。  

可以使用 fsys.setCurDir 函数设置当前目录，  
很多组件（例如文件对话框）都可能会悄悄改变当前目录。  
而「应用程序根目录」则是固定不变的

### fsys.dlg.OPENFILENAME() <a id="fsys.dlg.OPENFILENAME" href="#fsys.dlg.OPENFILENAME">&#x23;</a>
[返回对象:OPENFILENAMEObject](#OPENFILENAMEObject)

### fsys.dlg.OPENFILENAME(缓冲区大小,默认文件名) <a id="fsys.dlg.OPENFILENAME" href="#fsys.dlg.OPENFILENAME">&#x23;</a>
创建 OPENFILENAME 结构体

### fsys.dlg.open <a id="fsys.dlg.open" href="#fsys.dlg.open">&#x23;</a>
打开选择单文件对话框

### fsys.dlg.open(指定文件类型,对话框标题,默认目录,父窗口,选项参数,默认文件名) <a id="fsys.dlg.open" href="#fsys.dlg.open">&#x23;</a>
打开选择单文件对话框，所有参数都是可选参数  
- 参数 @1 指定文件类型，  
多个文件类型以竖线分隔，并以坚线分隔类型说明与后缀名,  
如果一个类型说明匹配多个后缀名，应以分号分隔多个后缀名。  
例如：`所有文件|*.*|文本文件|*.txt;*.md|`  
- 可选用参数 @2 指定对话框标题。  
- 可选用参数 @3 指定默认目录。  
- 可选用参数 @4 指定父窗口（这里是指所有窗口）。  
- 可选用参数 @4 指定选项（ _OFN_ 前缀的常量数值组合 ），  
- 可选用参数 @5 可选指定默认文件名（不应包含斜杠或反斜杠）。

### fsys.dlg.openDir <a id="fsys.dlg.openDir" href="#fsys.dlg.openDir">&#x23;</a>
打开选择目录对话框，  
建议改用 fsys.dlg.dir

### fsys.dlg.openDir() <a id="fsys.dlg.openDir" href="#fsys.dlg.openDir">&#x23;</a>
打开选择目录对话框。

### fsys.dlg.openDir(目录,父窗口,标题,窗口标题) <a id="fsys.dlg.openDir" href="#fsys.dlg.openDir">&#x23;</a>
打开选择目录对话框,  
所有参数都是可选参数。

### fsys.dlg.openEx <a id="fsys.dlg.openEx" href="#fsys.dlg.openEx">&#x23;</a>
打开选择多文件对话框

### fsys.dlg.openEx(指定文件类型,对话框标题,默认目录,父窗口,选项参数,缓冲区大小) <a id="fsys.dlg.openEx" href="#fsys.dlg.openEx">&#x23;</a>
打开可选择多个文件的对话框，所有参数可选。  
- 参数 @1 指定文件类型，  
多个文件类型以竖线分隔，并以坚线分隔类型说明与后缀名,  
如果一个类型说明匹配多个后缀名，应以分号分隔多个后缀名。  
例如：`所有文件|*.*|文本文件|*.txt;*.md|`  
- 可选用参数 @2 指定对话框标题。  
- 可选用参数 @3 指定默认目录。  
- 可选用参数 @4 指定父窗口（这里是指所有窗口）。  
- 可选用参数 @4 指定选项（ _OFN_ 前缀的常量数值组合 ），  
- 可选用参数 @5 自定义缓冲区大小（字节单位），默认值为 52000。  
第一个返回值为包含一个或多个被选定的文件路径的字符串数组。  
第二个返回值也是数组（首个数组元素为被选目录路径，其他元素为被选的文件名）。

### fsys.dlg.save <a id="fsys.dlg.save" href="#fsys.dlg.save">&#x23;</a>
显示保存文件对话框框,  
覆盖已存在的文件时不显示确认对话框。

### fsys.dlg.save(指定文件类型,对话框标题,默认目录,父窗口,选项参数,默认文件名) <a id="fsys.dlg.save" href="#fsys.dlg.save">&#x23;</a>
显示保存文件对话框框，所有参数都是可选参数。  
- 参数 @1 指定文件类型，  
多个文件类型以竖线分隔，并以坚线分隔类型说明与后缀名,  
如果一个类型说明匹配多个后缀名，应以分号分隔多个后缀名。  
例如：`所有文件|*.*|文本文件|*.txt;*.md|`  
- 可选用参数 @2 指定对话框标题。  
- 可选用参数 @3 指定默认目录。  
- 可选用参数 @4 指定父窗口（这里是指所有窗口）。  
- 可选用参数 @4 指定选项（ _OFN_ 前缀的常量数值组合 ），  
- 可选用参数 @5 可选指定默认文件名（不应包含斜杠或反斜杠）。

### fsys.dlg.saveOp <a id="fsys.dlg.saveOp" href="#fsys.dlg.saveOp">&#x23;</a>
显示保存文件对话框框,  
覆盖已存在的文件时显示确认对话框（overwrite prompt）

### fsys.dlg.saveOp(指定文件类型,对话框标题,默认目录,父窗口,默认文件名) <a id="fsys.dlg.saveOp" href="#fsys.dlg.saveOp">&#x23;</a>
显示保存文件对话框框，覆盖已存在的文件时显示确认对话框。  
- 参数 @1 指定文件类型，  
多个文件类型以竖线分隔，并以坚线分隔类型说明与后缀名,  
如果一个类型说明匹配多个后缀名，应以分号分隔多个后缀名。  
例如：`所有文件|*.*|文本文件|*.txt;*.md|`  
- 可选用参数 @2 指定对话框标题。  
- 可选用参数 @3 指定默认目录。  
- 可选用参数 @4 指定父窗口（这里是指所有窗口）。  
- 可选用参数 @4 指定选项（ _OFN_ 前缀的常量数值组合 ），  
- 可选用参数 @5 可选指定默认文件名（不应包含斜杠或反斜杠）。

## OPENFILENAMEObject 成员列表 <a id="OPENFILENAMEObject" href="#OPENFILENAMEObject">&#x23;</a>

### OPENFILENAMEObject.defExt <a id="OPENFILENAMEObject.defExt" href="#OPENFILENAMEObject.defExt">&#x23;</a>
默认后缀名

### OPENFILENAMEObject.defaultFileName <a id="OPENFILENAMEObject.defaultFileName" href="#OPENFILENAMEObject.defaultFileName">&#x23;</a>
默认文件名

### OPENFILENAMEObject.filter <a id="OPENFILENAMEObject.filter" href="#OPENFILENAMEObject.filter">&#x23;</a>
指定文件类型  
例如'所有文件|*.*|文本文件|*.txt|'u

### OPENFILENAMEObject.flags <a id="OPENFILENAMEObject.flags" href="#OPENFILENAMEObject.flags">&#x23;</a>
一个或多个_OFN_前缀选项  
参考MSDN文档

### OPENFILENAMEObject.hwndOwner <a id="OPENFILENAMEObject.hwndOwner" href="#OPENFILENAMEObject.hwndOwner">&#x23;</a>
父窗口句柄

### OPENFILENAMEObject.initialDir <a id="OPENFILENAMEObject.initialDir" href="#OPENFILENAMEObject.initialDir">&#x23;</a>
初始目录

### OPENFILENAMEObject.open() <a id="OPENFILENAMEObject.open" href="#OPENFILENAMEObject.open">&#x23;</a>
打开文件对话框,返回文件名

### OPENFILENAMEObject.save() <a id="OPENFILENAMEObject.save" href="#OPENFILENAMEObject.save">&#x23;</a>
打开保存文件对话框,返回文件名

### OPENFILENAMEObject.title <a id="OPENFILENAMEObject.title" href="#OPENFILENAMEObject.title">&#x23;</a>
标题

### 自动完成常量
_BIF_BROWSEFORCOMPUTER=0x1000  
_BIF_BROWSEFORPRINTER=0x2000  
_BIF_BROWSEINCLUDEFILES=0x4000  
_BIF_BROWSEINCLUDEURLS=0x80  
_BIF_DONTGOBELOWDOMAIN=0x2  
_BIF_EDITBOX=0x10  
_BIF_RETURNFSANCESTORS=0x8  
_BIF_RETURNONLYFSDIRS=0x1  
_BIF_SHAREABLE=0x8000  
_BIF_STATUSTEXT=0x4  
_BIF_USENEWUI=0x50  
_BIF_VALIDATE=0x20  
