界面 对象

您所在的位置:网站首页 AutoHotKey窗口定义 界面 对象

界面 对象

2023-12-02 04:35| 来源: 网络整理| 查看: 265

类型: 字符串

控件的位置和大小

如果在 Options 中省略了某些尺寸和/或坐标, 则会根据前一个控件确定它的位置, 根据控件的类型和内容确定它的大小.

支持下列选项:

行: 文本的行数(可以为浮点数, 如 R2.5). 行 通常比指定 高(高度) 更合适. 如果同时指定 行 和 高 选项, 则行 优先考虑. 对于 GroupBox, 此选项设置是指在框内保留空间的控件数量. 对于 DropDownList, ComboBox 和 ListBox, 它是指在控件的列表部分内一次可见的项目数(但对于 DropDownList 和 ComboBoxit 通常最好省略 行 和 高 选项, 因为弹出列表会自动利用用户桌面的可用高度). 对于其他控件类型, 行 是指可视的容纳在控件内的文本行数.

宽: 宽度, 单位为像素. 如果省略, 对于某些控件则根据其内容自动计算宽度. 其他类型的控件具有下列默认的宽度值: Tab 控件: 30 倍的当前字体大小加上 3 倍的行边距. 垂直进度条: 两倍的当前字体大小. 水平进度条, 水平滑动条, DropDownList, ComboBox, ListBox, GroupBox, Edit 和 热键: 15 倍的当前字体大小(GroupBox 除外, 其默认宽度为 18 倍, 这样可以显示内部的边距).

高: 高度, 单位为像素. 如果同时省略 高 和 行 选项, DropDownList, ComboBox, ListBox 和空的多行 Edit 控件默认为 3 行; GroupBox 默认为 2 行; 垂直滑动条和进度条默认为 5 行; 水平滑动条默认为 30 像素(在没有指定其厚度时); 水平进度条默认为 2 倍的当前字体大小; 热键 控件默认为 1 行; 而 Tab 控件默认为 10 行. 对于其他类型的控件, 根据它们的内容自动计算高度. 请注意对于 DropDownList 和 ComboBox, 高 为控件总是可见的部分(大概指列表上面的框) 和其列表部分相加的高度(但即使高度设置很小, 也至少会在下拉列表中显示一个项目). 同时对于所有类型的控件, 通过 行 选项指定行数比使用 高 更可取, 因为这样可以避免在控件中显示部分/不完整的文本行.

wp+n, hp+n, wp-n, hp-n(其中 n为任意数字) 用来设置控件的宽度和/或高度等于前一个添加控件的宽度或高度, 可以使用加号或减号进行调整. 例如, wp 将设置控件的宽度等于之前的控件, 而 wp-50 则设置宽度为之前的控件宽度减去 50 像素.

横: X-坐标. 例如, 指定 x0 y0 则把控件放置到窗口工作区的左上角, 窗口工作区是在标题栏和菜单栏(如果有)下面的区域. 如果省略了 横 但指定了 纵, 则控件将被放置在之前所有控件的右边(即其 X 坐标为前一个控件的 X 坐标加上前一个控件的宽度, 即前一个坐标右边的位置), 可以理解为开始了一个新 "列".

纵: Y-坐标. 如果省略了 纵 但指定了 横, 则控件将被放置在之前所有控件的下面, 可以理解为开始了一个新 "行".

如果省略 横 或 纵, 或同时省略, 可以使 界面 自动调整布局, 以适应您将来可能对控件或字体大小的任何变化. 相比之下, 为每个控件指定一个绝对位置可能需要您手动移动位于被放大或缩小的控件下方和/或右侧的所有控件的位置.

如果同时省略 横 和 纵, 则控件会放置在之前控件的下面, 中间加上标准的填充间距.

对于 横 和 纵, 还可以在后面加上加号来确定控件相对于前一个添加控件的右边或底部边缘(分别地) 的位置. 例如, 指定 Y+10 将把控件放置在前一个控件底部下面 10 个像素的位置, 而不使用标准的填充间距. 同样地, 指定 X+10 将把控件放置在前一个控件右边缘的右边 10 个像素的位置. 由于负数如 X-10 是为绝对的位置而保留的, 因此要使用负的位置偏移, 需要在前面加上一个加号. 例如: X+-10.

对于 横+ 和 纵+, 字 边 可以用来替代窗口的当前边距. 例如, x+m 使用前一控件的右边缘位置加上标准填充间隔. 横上 纵+边 将控件放置于前一个之下, 但当指定 X 坐标时, 相当于默认情况下隐式的 纵上.

横上+n, 纵上+n, 横上-n, 纵上-n(其中 n 可以为任意数字) 可以用来指定控件相对于前一个控件左上角的位置, 此选项常用于 GroupBox 中的封装控件.

横边 和 纵边 分别可以把控件放置在窗口最左边和最上边的边距(它们后面还可以跟着加号/减号和数字). 指定 纵边 而省略 x-坐标, 将把控件放置在窗口的最上面但在之前所有控件的右边, 可以理解为开始了一个新 "列". 反之亦然.

xs 和 ys: 它们类似于 横边 和 纵边, 区别在于它们是相对于前一个使用 Section 选项添加的控件坐标(在窗口中创建首个控件时总是开始一个新列, 即使没有指定此选项). 指定 ys 而省略 x-坐标, 将把控件放置在之前保存的 y-坐标, 但在最近一次使用 Section 后添加的所有控件右边; 这可以理解为在同一个控件段中开始一个新列. 例如:

MyGui := 界面.新建() MyGui.添加("编辑框", "宽600") ; 在窗口的顶部添加一个非常宽的编辑控件. MyGui.添加("文本", "section", "姓:") ; 保存此控件位置并定义一个新控件段. MyGui.添加("文本",, "名:") MyGui.添加("编辑框", "ys") ; 在此控件段中开始一个新列. MyGui.添加("编辑框") MyGui.显示

反过来(指定 xs 但省略 y-坐标) 也是一样的.

xs 和 ys 后面可以跟着一个加号/减号和一个数字. 并且, 还可以在控件的选项中同时指定单词 Section 和 xs/ys; 这样可以让当前控件使用之前的控件段, 但为后续控件定义一个新段.

存储和响应用户的输入

名: 设置控件的名称. 在字母 V 后指定一个名称, V 不包含在名称中. 例如, 指定 名MyEdit 会将控件命名为 "MyEdit".

Events: 事件处理程序(如当用户点击或更改控件时自动调用的函数) 不能在控件的 Options 中进行设置. 而是, 使用 监听事件 可以为每个感兴趣的事件注册一个回调函数或方法.

控件: 常用样式和其他选项

注意: 选项前的符号省略时, 默认为加号; 例如, 自动换行 等同于 +自动换行. 相反地, -Wrap 将去除自动换行属性.

AltSubmit: 使用替代的提交方法. 对于 DropDownList, ComboBox, ListBox 和 Tab, 会让 Gui.提交 保存选择项目的位置而不是其文本. 如果没有选择项目, 则对于 ComboBox 命令保存选项项目的位置而不是其文本. 如果没有选择项目, 则对于 ComboBox 会保存其编辑区域的文本.

C: 文本颜色(对按钮控件无效). 指定字母 C 后面紧跟着颜色名称(请参阅颜色图表) 或 RGB 值(0x 前缀可以省略). 例如: cRed, cFF2211, c0xFF2211, cDefault.

禁用: 让可输入型控件变为灰色禁用状态, 这样可以防止取得焦点或用户改变其内容. 以后可以使用 GuiCtrl.Enabled 来启用控件. 注意: 要让编辑控件为只读状态, 请指定字符串 ReadOnly 代替. 并且, 还可以在单词 禁用 后紧跟着 0 或 1 来表示控件的初始状态(0 为启用而 1 为禁用). 换句话说, 禁用 和 "Disabled" VarContainingOne 是一样的.

Hidden: 让控件初始为隐藏状态. 以后可以使用 GuiCtrl.Visible 来让它显示. 可以在单词 Hidden 后跟着 0 或 1 来表示初始状态(0 为可见而 1 为隐藏). 换句话说, Hidden 和 "Hidden" VarContainingOne 是一样的.

Left: 在控件的可用宽度内左对齐控件的文本. 该选项会影响以下控件: Text, Edit, Button, Checkbox, Radio, UpDown, Slider, Tab, Tab2, GroupBox, DateTime.

Right: 在控件的可用宽度内右对齐控件的文本. 对于复选框和单选按钮, 此选项也同时把框放置在控件的右边而不是左边. 该选项会影响以下控件: Text, Edit, Button, Checkbox, Radio, UpDown, Slider, Tab, Tab2, GroupBox, DateTime, Link.

Center: 在控件的可用宽度内居中对齐控件的文本. 该选项会影响以下控件: Text, Edit, Button, Checkbox, Radio, Slider, GroupBox.

Section: 定义一个新的控件段并保存当前控件的位置, 以便以后使用上面描述的 xs 和 ys 定位选项.

焦点停留: 使用 -焦点停留(即负 焦点停留) 可以让用户按 Tab 键导航时跳过输入型控件.

自动换行: 让控件的文本自动换行. 因为几乎所有类型的控件初始状态都启用了自动换行, 所以需要通过 -Wrap 禁用它.

垂直滚动条: 当控件支持时为其提供一个垂直滚动条.

水平滚动条: 当控件支持时为其提供一个水平滚动条. 这个段落的剩余部分仅适用于 ListBox. 水平滚动宽度默认为 ListBox 宽度的 3 倍. 要使用其他的滚动宽度, 请在单词 水平滚动条 后紧跟着一个数字表示. 例如, 水平滚动条500 将在 ListBox 中使用 500 像素的滚动栏宽度. 但是, 如果指定的滚动宽度小于 ListBox 的宽度, 则不显示滚动条(不过在这种含有 水平滚动条 的情况下, 可以在之后通过 MyScrollBar.参数("+水平滚动条500"), 来添加水平滚动条, 否则是无法添加的).

控件: 不常用样式和选项

背景透明: 使用透明的背景, 允许任何位于 Text, Picture 或 GroupBox 后面的控件显示出来. 例如, 在 Picture 控件上显示一个透明背景的 Text 可以让文字看起来就像图片的一部分. 以后可以使用 GuiCtrl.参数("+Background") 移除此选项. 有关透明图像的更多信息, 请参阅 Picture 控件的 AltSubmit 部分. 已知限制: 对包含了 ListView 的 Tab 控件内的其他控件, BackgroundTrans 可能无法正确应用. 如果控件类型不支持这个选项, 则抛出错误.

BackgroundColor: 更改控件的背景色. 用颜色名称(请参阅颜色图表) 或 RGB 值(0x 前缀可以省略) 替换 Color. 例如: BackgroundSilver, BackgroundFFDD99. 如果不使用这个选项, Text, Picture, GroupBox, CheckBox, Radio, Slider, Tab 或 Link 控件初始默认为 Gui.背景色 设置的背景色(如果没有设置或其他控件类型, 则为系统默认的背景色). 指定 BackgroundDefault 或 -Background 会应用系统的默认背景色. 例如, 控件可以通过 LV.参数("+BackgroundDefault") 恢复到默认颜色. 在没有指定颜色的情况下使用 +Background 可以恢复 -Background. 如果控件类型不支持这个选项, 则抛出错误.

Border: 为控件增加一个细边框. 对于大多数控件不需要使用此选项, 因为它们已经含有特定于类型的边框. 添加边框到 现有 控件时, 可能需要给控件的宽度和高度增加 1 个像素.

Theme: 使用此选项可以让新建的控件忽略窗口当前的主题设置. 它对于现有控件没有效果; 不过, 这种情况可能在将来的版本中改变. 请参阅 界面 的 +/-Theme 选项了解详情.

(未命名样式): 在十进制或十六进制的样式编号前加上加号或减号表示添加或删除此样式. 如果省略了符号, 则默认为加号.

(未命名扩展样式): 在字母 E 和十进制或十六进制的扩展样式编号前加上加号或减号表示添加或删除此扩展样式. 如果省略了符号, 则默认为加号. 例如, E0x200 表示添加 WS_EX_CLIENTEDGE 样式, 它可以为图片和其他控件增加一个下沉的边框样式. 尽管这里没有列出其他的扩展样式编号(因为它们极少使用), 不过可以在 www.microsoft.com 中通过搜索 WS_EX_CLIENTEDGE 找到它们.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3