Control
Control 对象表示 脚本对话框 上的一个控件;它允许您读取和修改控件的值(和内容)。使用 Dialog.Control 方法获取 Control 对象。
bg
string
设置或查询用于此控件背景(填充)的颜色。格式为 #RRGGBB(十六进制)或 RRR,GGG,BBB(十进制)。目前仅支持 静态文本 和 列表视图 控件的此属性。
charcase
string
对于 编辑 控件,获取或设置控件的大小写设置。有效值为 upper、lower 和 normal。
count
int
返回控件中包含的项目数(例如,在 组合框、列表框 或 列表视图 中,返回列表中的项目数)。
cuetext
string
获取或设置单行编辑控件的提示文本。这是在编辑控件为空时显示的文本,用于帮助用户。
cx
int
设置或查询控件的宽度,以像素为单位。
cy
int
设置或查询控件的高度,以像素为单位。
enabled
bool
设置或查询控件的启用状态。如果控件已启用,则返回 True,如果已禁用,则返回 False。您可以设置此属性来更改状态。
fg
string
设置或查询用于此控件文本(前景)的颜色。格式为 #RRGGBB(十六进制)或 RRR,GGG,BBB(十进制)。目前仅支持 静态文本 和 列表视图 控件的此属性。
focus
bool
设置或查询控件的输入焦点状态。如果控件当前具有输入焦点,则返回 True,如果它没有焦点,则返回 False。设置为 True 以使控件获得输入焦点。
image
string 或 object:Image
label
string 或 object:Image
mode
string
对于 列表视图 控件,允许您更改或查询当前视图模式。有效值为 icon、details、smallicon、list。
readonly
bool
设置或查询 编辑 控件的 只读 状态。
redraw
bool
设置或查询控件的重绘状态。某些控件允许您关闭重绘,以便在进行多个更改时不会出现可见的闪烁(例如,在 列表视图 中添加大量项目)。设置为 False 以关闭重绘,或设置为 True 以在更改控件后重新打开重绘。
rotate
int
对于设置为“图像”模式的 静态文本 控件,您可以设置此属性以旋转显示的图像。提供的值是从图像初始方向旋转的度数。
style
string
设置或查询用于显示此控件标签的字体样式。字符串包含零个或多个字符;有效字符为 b 表示粗体,i 表示斜体。
目前仅支持 静态文本 控件的此属性。
textbg
string
设置或查询用于此控件文本背景(填充)的颜色。格式为 #RRGGBB(十六进制)或 RRR,GGG,BBB(十进制)。
目前仅支持 列表视图 控件的此属性。
value
string 或 bool 或 int 或 object:DialogListItem 或 object:Vector
设置或查询控件的值。此属性的含义取决于控件的类型:
编辑控件: 返回或接受表示编辑控件当前内容的字符串。
复选框: 对于简单的开/关复选框,返回或接受一个 bool - True 表示选中,False 表示未选中。对于三态复选框,返回或接受一个 int - 0 表示未选中,1 表示选中,2 表示不确定状态。
单选按钮: 返回或接受一个 bool - True 表示选中,False 表示未选中。
标签页: 返回或接受一个 int,表示标签页控件中当前选中的页面。
列表框 / 组合框 / 列表视图: 返回或接受一个 DialogListItem,表示选中的项目。设置值时,它也接受一个 int,表示选定项目的 0 索引位置。
调色板控件: 返回当前颜色值。如果调色板按钮的复选框已禁用,则颜色字符串前缀为
!
字符。您可以以这种方式设置颜色。您也可以将值设置为“enable”或“disable”来更改复选框状态,而不会影响颜色。
请注意,对于多选 列表框 或 列表视图,此值将返回一个 Vector,其中包含 DialogListItem 对象,表示当前选中的所有项目。
visible
bool
设置或查询控件的可见状态。如果控件可见,则返回 True,如果隐藏,则返回 False。您可以设置此属性以隐藏或显示控件。
x
int
设置或查询控件的左(x)位置,以像素为单位。
y
*int *
设置或查询控件的顶部(y)位置,以像素为单位。
方法名称
参数
返回类型
描述
AddGroup
<string:name> <int:id> [<string:flags>]
int
向 列表视图 控件添加一个新组。您可以选择将添加到列表的项目放在组中。每个组必须具有唯一的 ID。
可选的标志为“c”(组可折叠)和“d”(组最初处于折叠状态)。例如,AddGroup("Unimportant", 100, "cd") 将添加一个名为 Unimportant 的组,该组最初是折叠的。
AddItem
<string:name> [<int:value>] [<int:groupid>]
或
<object:item>
int
向控件(列表框、组合框 或 列表视图)添加一个新项目。第一个参数是项目的名称,可选的第二个参数是与项目关联的数据值。
在向分组的 列表视图 添加项目时,可选的第三个参数提供要向其添加项目的组的 ID(在这种情况下必须提供第二个参数,如果不需要值,则可以将其设置为 0)。
该项目将添加到列表的末尾。
您还可以传递从另一个控件获取的 DialogListItem 对象。
返回值指示新项目的列表位置。
如果您要添加到列表视图控件并需要添加具有多列的项目,您可以执行以下操作(JScript):
var i = listview.AddItem("This is col 1");
listview.GetItemAt(i).subitems(0) = "This is col 2";
listview.GetItemAt(i).subitems(1) = "This is col 3";
AutoSize
[<bool:height>]
bool
自动调整控件大小,如果控件类型支持自动调整大小。如果控件已自动调整大小,则返回 True。
如果可选的 height 参数设置为 true,则控件将垂直和水平自动调整大小。
DeselectItem
<int:position>
或
<object:item>
int
此方法主要用于多选 列表框 和 列表视图 控件。它允许您取消选择控件中的单个项目,同时保留其它项目被选中(或不受影响)。
您可以指定要选择的项目的索引(0 表示第一个项目,1 表示第二个项目,依此类推),或者指定从 GetItemAt 或 GetItemByName 方法获取的 DialogListItem 对象。
您还可以指定 -1 以取消选择列表框中的所有项目。
EnableGroupView
<bool:enable>
none
仅适用于 列表视图 控件。默认情况下,组视图处于关闭状态;在使用 AddGroup 方法添加组后,使用 EnableGroupView 打开组视图。
GetGroupById
<int:id>
object:DialogListGroup
返回一个 DialogListGroup 对象,表示您之前使用 AddGroup 方法添加到 列表视图 控件的具有指定 ID 的组。
GetItemAt
<int:position>
object:DialogListItem
返回一个 DialogListItem 对象,表示控件中指定索引位置的项目(列表框、组合框 或 列表视图)。项目 0 表示列表中的第一个项目,项目 1 表示第二个项目,依此类推。
GetItemByLabel GetItemByName
<string:name>
object:DialogListItem
返回一个 DialogListItem 对象,表示控件中具有指定名称的项目(列表框、组合框或列表视图)。此方法有两个名称(...Label 和 ...Name),出于历史原因,您可以互换使用任一方法名称)。
InsertItemAt
<int:position> <string:name> [<int:value>] [<int:groupid>]
或
<int:position> <object:item>
int
在控件(列表框、组合框或列表视图)中插入一个新项目。第一个参数是要插入项目的位置(0 表示列表开头,1 表示第二个位置,依此类推)。第二个参数是项目的名称,可选的第三个参数是与项目关联的数据值。
在向分组的 列表视图 添加项目时,可选的第四个参数提供要向其添加项目的组的 ID(在这种情况下必须提供第三个参数,如果不需要值,则可以将其设置为 0)。
除了 name 和 value 之外,您还可以传递从另一个控件获取的 DialogListItem 对象。
返回值指示新项目的列表位置。
MoveItem
<int:position> or <object:item> <int:newposition>
int
将现有项目移动到新位置(列表框、组合框 或 列表视图)。第一个参数是要移动的项目(您可以传递其索引或 DialogListItem 对象),第二个参数是项目要移动到的新位置。
返回值指示已移动项目的列表位置。
RemoveGroup
<int:id>
none
从 列表视图 控件中删除指定的组。
RemoveItem
<int:position> or <object:item>
none
从控件(列表框、组合框或列表视图)中删除一个项目。您可以提供要删除项目的索引(0 表示第一个项目,1 表示第二个项目,依此类推),或者提供从 GetItemAt 或 GetItemByName 方法获取的 DialogListItem 对象。
您还可以指定 -1 以完全清除控件的内容,一次性删除所有项目。
SelectItem
<int:position> or <object:item> or <string:tab>
int
在控件中选择一个项目。对于 列表框、组合框或列表视图,您可以指定要选择的项目的索引(0 表示第一个项目,1 表示第二个项目,依此类推),或者提供从 GetItemAt 或 GetItemByName 方法获取的 DialogListItem 对象。
对于多选 列表框 或 列表视图,您还可以指定 -1 以选择控件中的所有项目。
对于 标签页 控件,您可以通过指定要显示的页面名称(即子对话框的名称)来更改可见的页面。
返回值指示新的选中索引。
SelectRange
<int:start> <int:end>
或
<object:item1> <object:item2>
object:Vector
在 编辑控件(或 组合框 控件中的编辑字段)中选择文本。这两个参数表示所需选择的开始和结束位置。要选择整个内容,请将 0 用于开始,将 -1 用于结束。
返回值是一个 Vector,它有两个成员,提供选择的当前开始和结束位置。要查询范围而不更改它,只需在不带任何参数的情况下调用 SelectRange 方法即可。
在 列表框 或 列表视图 控件中,此方法会选择一系列项目。
SetItemWidth
<int:width>
none
设置设置为 list 或 smallicon 模式的列表视图控件中项目的宽度(以像素为单位)。指定 -1 以自动调整项目大小。
SetPos
<int:x> <int:y>
none
设置此控件的位置。x 和 y 坐标以像素为单位。
SetPosAndSize
<int:x> <int:y> <int:cx> <int:cy>
none
以单个操作设置控件的位置和大小。所有坐标均以像素为单位。
SetSize
<int:cx> <int:cy>
none
设置此控件的大小。cx(宽度)和 cy(高度)值以像素为单位。
最后更新于