====== 编辑框 ====== 编辑框的标签为Edit,其实现类为XEditCtrl,数据交换宏为DX_Edit,它支持若干扩展:校验规则扩展,文件或目录扩展,浮点数变量场扩展,单位扩展。编辑框焦点状态时,回车会触发对话框的onControlEvent接口。如果编辑框定义了校验规则扩展,当编辑框的内容变化会触发校验事件。 ===== 控件属性关键字 ===== ==== name ==== 控件名,其值类型为字符串,控件名只能以字母开头,可包含数字、下划线、点符号。参考示例:name="value.edit"。 ==== cid ==== 关联命令标识符,其值类型为字符串,仅在菜单栏、工具条或功能导航栏中使用,用于与标识符为给定值的命令关联绑定,点击按钮的操作将触发关联命令,如果当前文档不存在指定标识符的命令,则按钮不可用。关联命令一般用于显示或修改应用文档的浮点数状态值。参考示例:cid="SetColor"。 ==== enable ==== 设置控件的初始状态是否可交互,其值类型为布尔型(true或者false),如设置为false,在该控件会变灰并且不可交互,用户可调用ICommandWindow的setControlEnable接口修改该属性。参考示例:enable="true"。 ==== width ==== 控件的宽度,其值类型整型, 单位为像素。参考示例:width="30"。 ==== height ==== 控件的高度,其值类型整型, 单位为像素。参考示例:height="30"。 ==== label ==== 仅当在表单布局中添加本控件时使用,用于指定该控件所对应的标签的显示文本。参考示例:label="显示文本"。 ==== connect ==== 无。 ==== text ==== 用于设置编辑框的显示字符串,其值类型为字符串。 ==== rule ==== 用于设置编辑框的输入校验扩展,其值类型为规则类型字符串,可参考【校验规则】。特别的,对于值区间的限定,可支持开区间(形如"(a,b)"表示a:",其中可以为open、save或者dir三种模式中的一种,其中open用于指定选择已存在文件,save用于指定保存文件名,dir用于选择目录;在open或save模式下匹配文件的后缀名,其形式为*.,其中为文件后缀名,在dir模式下,用于指定默认目录。特别的,当需要打开或保存uisetting下的ui配置文件时,可指定为"*.uisetting",此时将从项目的uisetting目录下打开或保存后缀名为xml的文件。参考示例:browse="open:*.xml",browse="save:*.xh5",browse="dir:D:/Test"。 ==== dvar ==== 设置浮点数变量场扩展,当激活该扩展时,数据交换宏应使用DX_DoubleVar,此时界面上编辑框右边会显示">"的菜单按钮,点击该按钮会根据定义弹出包含常数、表格、函数中其中一个或几个选项,用户选择其中一项可以切换到对应的变量输入模式。该扩展的格式定义为"const"(显示为常数)、"table"(显示为表格)、"function"(显示为函数)三个选项的一个或多个的组合,选择之间用";"分隔,选项不可重复。默认情况下,编辑框为常数模式,即"const"选项,用户按照普通模式交互即可,如果用户切换到该选项,编辑框会向对话框发出Event_VarConstSet事件,开发者可根据需要在COmmand的onControlEvent函数接口中完成相应的响应操作;当用户选择"table"表格模式,编辑框会向对话框发出Event_VarTableSet事件,开发者可根据需要在COmmand的onControlEvent函数接口中完成相应的响应操作;当用户选择"function"函数模式,编辑框会向对话框发出Event_VarFuncSet事件,开发者可根据需要在COmmand的onControlEvent函数接口中完成相应的响应操作。一般的,"table"模式会与表格窗口关联,"function"模式会与函数窗口关联,选择表格模式时会切换显示表格窗口,选择函数模式时会切换显示函数窗口,选择常数模式时会隐藏表格窗口或函数窗口,其开发过程可参考[[reference::guisys::dvar_table|浮点数表格对象开发]]或[[reference::guisys::dvar_function|浮点数函数对象开发]]。参考示例:dvar="const,function"。 ==== unit ==== 设置编辑框的关联单位类型,其值为[[reference:unitsys|单位类型字符串]],设置了单位扩展的编辑框可以通过DX_UnitEdit宏完成变量与编辑框的数据交换,该交换会根据指定的单位类型将编辑框的值转换为内部基准单位类型的值或将内部基准单位类型的值转换显示为当前单位系的值。参考示例:unit="Length"。 ===== 校验规则 ===== 编辑框可用的校验规则如下: ^ 规则名 ^ 说明 ^ 示例 ^ | NonNegativeInt | 非负整数 | 1 | | PostiveInt | 正整数 | 1 | | NonPostiveInt | 非正整数 | -1 | | NegativeInt | 负整数 | -1 | | Int | 整数 | 10 | | NonNegativeFloat | 非负浮点数 | 1.01 | | PostiveFloat | 正浮点数 | 1.01 | | NonPostiveFloat | 非正浮点数 | -1.01 | | NegativeFloat | 负浮点数 | -1.01 | | Float | 浮点数 | 1.01 | | Alphabet | 字母 | aBc | | Capital | 大写字母 | ABC | | LowerCase | 小写字母 | abc | | NumberAlphabet | 数字和字母 | 123aBc | | NumberAlphabetUnderline | 数字、字母和下划线 | 123_aBc | | Email | 电子邮件 | test@xt.com | | URL | URL链接 | http://xdoc.com/doku.php?id=reference:guisys&do=edit | | YearMonthDate | 年月日 | 2023.01.01 | | MonthDateYear | 月日年 | 01.01.2023 | | TelphoneNumber | 电话号码 | 13999999999 | | IP | IP地址 | 192.168.1.1 | | MAC | MAC地址 | 1C-C1-0C-CA-7F-6F | ===== 相关API ===== * [[class:ui:icommandwindow#setcontrolenable|setControlEnable]] * [[class:ui:icommandwindow#setcontrolvisible|setControlVisible]] * [[class:ui:icommandwindow#seteditint|setEditInt]] * [[class:ui:icommandwindow#seteditstring|setEditString]] * [[class:ui:icommandwindow#seteditdouble|setEditDouble]] * [[class:ui:icommandwindow#geteditdouble|getEditDouble]] * [[class:ui:icommandwindow#geteditint|getEditInt]] * [[class:ui:icommandwindow#geteditstring|getEditString]] * [[class:ui:icommandwindow#exchangeeditdata|exchangeEditData]] * [[class:ui:icommandwindow#exchangeuniteditdata|exchangeUnitEditData]] * [[class:ui:icommandwindow#exchangeeditdatawithunitcombo|exchangeEditDataWithUnitCombo]] * [[class:ui:icommandwindow#exchangeeditdata|exchangeEditData]]