对话框显示代码

运行命令时可以使用以下代码来显示各种简单的对话框。这让你可在“运行时”提供信息(如选择文件或文件夹或输入字符串),而不是将值合并到命令本身中。为了更灵活地进行操作,你可以使用 脚本文本框

长格式短格式描述

{dlgopen}

{Rf}

显示打开文件对话,可用于选择现有的文件名,并将其传递到命令。

{dlgmulti}

{Rm}

在多选模式下显示打开文件对话,可用于选择一个或多个现有文件。

{dlgsave}

{RF}

显示保存文件对话,可用于输入新的文件名,并将其传递到命令。

{dlgfolder}

{Rd}

显示选择文件夹对话,可用于选择文件夹,并将其传递到命令。

{dlgstring}

{Rs}

显示一个对话,可让你输入任意字符串。

{dlgstringS}

{RS}

{dlgstring}相同,但字符串字段的内容会自动选中(仅在指定了默认值的情况下适用,见下文)。

{dlgpassword}

{Rp}

{dlgstring}相同,但字符串字段的内容会模糊显示,这对于输入密码很有用。

{dlgchoose}

{Rc}

显示一个下拉列表,可让你从值列表中进行选择。

{dlgchooseS}

{RC}

{dlgchoose}相同,但值列表会自动排序。

{dlgopen}、{dlgmulti}、{dlgsize}的参数

这些代码的模板是{code|<title>|<default>}

*<title>指定对话框的标题(未提供时将使用默认标题),<default>*指定默认文件名。

例如,{dlgopen|Select filename|dopus.txt}将标题设置为选择文件名,默认文件名设置为dopus.txt

对于{dlgopen}{dlgmulti},你可以为*<default>*指定通配符,以设置文件对话框的过滤器类型。

例如,{dlgopen||*.jpg;*.bmp;*.gif}将保留对话框标题为其默认设置,并将对话框设置为对**.jpg**、.bmp和**.gif**文件进行过滤。

对于{dlgsave},你可以指定一个附加参数来填充保存对话框中的“另存为类型”下拉列表。

例如,{dlgsave|Title|Default Name.txt|type=#Text Files!*.txt!Doc Files!*.doc}

**type=**后的#将会使默认的“所有文件”项添加到下拉列表中,如果你不想要这个,请去掉#

在此之后是一对或多对字符串,用感叹号(!)分隔。每对的第一个字符串是下拉列表中显示的纯文本字符串,每对的第二个字符串是实际的文件扩展名。你还可以通过分号分隔来为一个类型指定多个扩展名,例如: type=JPEG Files!*.jpg;*.jpeg

这些代码还支持用于传递文件名的代码下列出的修饰符。要使用这些修饰符,你还必须包含*<title><default>*参数(如果需要,可以留空)。

例如,{dlgopen|||noext}会从选定的文件名中去掉扩展名。

{dlgfolder}的参数

此代码的模板是{dlgfolder|<title>|<default>}

*<title>指定对话框的标题(未提供时将使用默认标题),<default>*指定默认文件名。

例如,{dlgfolder|Select folder|C:\Users}将标题设置为选择文件夹,初始选定的文件夹将是C:\Users

此代码支持用于传递路径的代码下列出的修饰符。要使用这些修饰符,你还必须包含*<title><default>*参数(如果需要,可以留空)。同样还支持另外一个修饰符expand。这会导致初始选定的文件夹自动展开。

例如,{dlgfolder||C:\Program Files|expand}将会把C:\Program Files设置为默认文件夹,并自动在显示的对话框中将其展开。

{dlgstring}、{dlgstringS}和{dlgpassword}的参数

这些代码的模板是{code|<message>|<default>}

*<message>指定在对话框中显示的消息,<default>*指定字符串字段的默认值。

你可以使用特殊代码在消息文本中包含换行符(如果你需要在文本中插入一个字面序列,则必须转义\\字符,如\)。

例如,{dlgstring|Please enter the string.\nThen click OK.|default string}

如果希望用户输入的任何引号字符加倍(“"变成""),则可以使用可选的doublequotes修饰符。它必须紧跟在`*<default>*参数的后面,如果该参数没有被使用,则该参数应该为空。加倍引号允许用户在命令参数中包含引号字符,前提是参数本身带有明确的引号。

例如,SetAttr META "comment:{dlgstring|Enter Comment||doublequotes}"

此外,{dlgpassword}接受一个可选的confirm修饰符,它也必须紧跟在`*<default>*参数的后面。如果指定了此参数,则对话框将显示两个密码字段,在启用确定按钮之前,你必须在这两个字段中输入相同的值(作为确认)。

例如,{dlgpassword|Please enter your password twice.||confirm}

如果需要同时使用doublequotesconfirm,则可以按任何顺序指定它们。

例如,{dlgpassword|Please enter your password twice.||confirm|doublequotes}

{dlgchoose}、{dlgchooseS}的参数

这些代码的模板是{code|<message>|<option 1>[=<value 1>][+<option 2>[=<value 2>]...]}

*<message>*指定在对话框中显示的消息。你可以使用特殊代码在消息文本中包含换行符(如果你需要在文本中插入一个字面序列,则必须转义\\字符,如)。

*<option 1>是下拉列表中第一个选项显示的文本,<option 2>*是第二个选项,依此类推。多个选项用+号分隔。

<value 1>是与第一个选项关联的可选值。如果提供了此值,则option将显示在下拉列表中,value是通过命令行传递的值。如果未提供value,则option文本将同时用于optionvalue

例如,{dlgchoose|选择编码质量|default:High=320+Medium=256+Low=128} 会向下拉列表中添加选项 HighMediumLow,其中 High 为初始选择,并将值 320256128(分别)传递到命令行。

如果您需要在选项名称或其值中包含 += 字符,可以通过将字符加倍来实现。

最后更新于