首页 理论教育AutoCAD2014:控件属性和错误信息

AutoCAD2014:控件属性和错误信息

【摘要】:控件的外观和功能由该控件的属性定义。如果将其应用到其他类型的控件上,AutoCAD会报告一个错误信息。一般情况下,AutoCAD会忽略属性。用户定义的属性值必须符合“控件属性”中介绍的数据类型。AutoCAD的“绘图辅助工具”对话框中定义了一个自定义属性errmsg,该属性对每个控件都有唯一的字符串值。公用的错误处理程序在显示警告信息时将用到此属性的值。

1.属性类型。控件的外观和功能由该控件的属性定义。AutoLISP程序也可以改变空间的一些属性。属性值必须是以下数据类型之一:

(1)整数:表示距离的数值包(括整数和实数),例如控件的宽度或高度,以character-width或character-height为单位。

(2)实数:带小数的实数必须包含前导数字:例如0.1,而不是.1。

(3)引号引起来的字符串:由包含在双引号(“”)内的文本组成。属性值区分大小写:B1和b1不同。如果需要在字符串中使用双引号,则应在双引号前加上一个反斜杠(\”)。除此之外,引号引起来的字符串中还可以包含其他控制字符。表15-3列出了能够被DCL识别的控制字符。

表15-3 DCL字符串中允许使用的控制字符

978-7-111-45924-8-Chapter15-37.jpg

(4)保留字:由字母和数字组成的标识符,首字符是字母。例如,许多属性都使用true或false作为属性值。保留字也区分大小写,如True不等于true。

与保留字和字符串一样,属性名也区分大小写,例如,不能调用Width为width赋值

在实际使用中,应用程序总是将属性作为字符串检索。如果应用程序使用的是数值,则这些值必须能够在数值和字符串值之间转换。(www.chuimin.cn)

有些属性,例如width和height,对于所有控件都是通用的。大多数属性都有其默认值,如果用户没有指定这些属性的值,则用其默认值。而另一些属性只对特定类型的控件才有意义,例如,图像控件的背景色属性color只适用于同类控件。如果将其应用到其他类型的控件上,AutoCAD会报告一个错误信息。一般情况下,AutoCAD会忽略属性。

2.用户定义的属性。定义控件时,可以使用自己定义的属性。属性名可以是任何与预定义标准不冲突的有效名称。属性名与关键字类似,可以包含字母、数字或下划线()_,而且首字符必须是字母。如果用户定义的属性名与预定义属性冲突,PDB功能模块不会将该属性作为一个新的属性处理,而是将用户分配给该定义属性的值分配给标准属性。在调试过程中这种错误很难检测出来。用户分配给定义属性的值及其含义都由应用程序定义。用户定义的属性值必须符合“控件属性”中介绍的数据类型。

定义属性和定义特定应用程序的客户数据是类似的。这两种方法都可以启用PDB功能模块来管理用户提供的数据。用户定义属性是只读的,也就是说,在对话框活动过程中,这些属性值是静态的。如果需要动态地更改这些值,则必须在运行时使用客户数据。终端用户可以检查自己在应用程序的DCL文件中定义的用户定义属性值,但客户数据对用户来说却是不可见的。

AutoCAD的“绘图辅助工具”对话框中定义了一个自定义属性errmsg,该属性对每个控件都有唯一的字符串值。公用的错误处理程序在显示警告信息时将用到此属性的值。例如,假设控件将下列值赋给errmsg:

978-7-111-45924-8-Chapter15-38.jpg

如果用户输入的值无效,例如一个负数,则AutoCAD将显示以下错误信息:

978-7-111-45924-8-Chapter15-39.jpg

以上“Invalid”这个词以及随后的句号(.)都是由错误处理程序提供的。