首页 理论教育AutoCAD2014中文版DCL语法快速掌握

AutoCAD2014中文版DCL语法快速掌握

【摘要】:本节介绍用于指定控件、控件属性和属性值的DCL语法。新控件继承了所有指定控件(item1,item2,item3,…它没有唯一的属性值,所以只能通过指定名称对其进行引用:在base.DCL文件中定义的ok_cancel控件是一个组件,对它的引用也只能通过指定名称来完成:另一方面,还可以重定义一个独立控件的属性。例如,Width和width表示不同的属性,而True和true表示不同的属性值。在DCL文件中,前面带有双斜杠(//)的语句是注释。DCL还接受c语言的注释。

本节介绍用于指定控件、控件属性和属性值的DCL语法。可以通过控件定义创建新的控件。如果控件定义出现在对话框定义之外,则是原型控件或组件。通过控件引用,原型控件可以在对话框定义中使用。每个控件的引用都继承原控件的属性,当引用原型控件时,可以修改继承属性的值或添加新的属性。当引用组件时,不能修改或添加属性。

如果需要使用一个控件的多个实例,并且这些实例具有一些相同的公共属性,最简单的办法就是定义和命名一个仅包含这些公共属性的原型控件。然后,在对原型控件的各个引用修改属性值或添加新的属性。这样在每次引用控件时,就不必列出所有公共属性。由于属性是可以继承的,所以在更多的时候,所需要做的往往是创建控件的引用,尤其是对预定义控件的引用,而不是定义新的控件。

1.控件定义。控件定义的格式如下:

其中每个item都是先前定义的控件。新控件(name)继承了所有指定控件(item1,item2,item3,…)的属性。同时,大括号({})中的属性定义还补充或(如果属性名是继承的)替换继承的定义。当定义具有多个父定义时,按照从左至右的顺序处理属性。也就是说,如果多个项目指定了相同的属性,则使用遇到的第一个属性。

如果新定义不包含子定义,则是一个控件原型。引用此控件原型时,可以改变或添加其属性。如果它是一个带有子定义的组件,则不能改变其属性。

如果控件或控件原型的名字只能由字母、数字或下划线字符()组成,并且必须以字母开头。

以下是按钮控件的(内部)定义:

default_button继承了button控件的ftxed_height和is_tab_stop属性值。同时增加了一个新属性isdefault,并将该属性的值设置为true。

2.控件引用。控件引用的格式如下:

其中name是先前定义的控件的名称。在第一种引用方式中,所有在name中定义的属性均被引用。在第二种引用方式中,大括号中的属性定义可以用来添加新的定义或替换name(www.chuimin.cn)

继承的定义。由于引用的是控件,而不是定义,所以属性的修改仅应用在控件的这一实例上。

spacer控件仅用于调整对话框定义的布局。它没有唯一的属性值,所以只能通过指定名称对其进行引用:

在base.DCL文件中定义的ok_cancel控件是一个组件,对它的引用也只能通过指定名称来完成:

另一方面,还可以重定义一个独立控件的属性。例如,下列语句创建一个按钮,该按钮与先前定义的按钮具有相同的特性,但具有不同的文本:

3.属性和属性值。在控件定义或引用的大括号中,可以使用下列格式指定属性并为某一属性赋值

其中attribute是一个有效的关键字,value是赋给该属性的值,等号(=)用于分隔属性和属性值,分号(;)标志赋值语句结束。例如key属性定义控件的名称,程序要靠该名称来引用控件;label属性定义在控件中显示的文本。

与控件名一样,属性名和属性值也是区分大小写的。例如,Width和width表示不同的属性,而True和true表示不同的属性值。

4.注释。在DCL文件中,前面带有双斜杠(//)的语句是注释。//到行尾之间的所有内容都将被忽略。DCL还接受c语言的注释。即/*注释文字*/格式。前导的/*和结束的*/可以在不同的行上。