1、ObjectDcl 简单入门教程一. 安装、运行下载 ObjectDcl 并解压后(或从光盘中)运行 setup.exe 按提示安装程序。安装完毕后在D:Program Files3rd Day SoftwareObjectDCL(看你的 program files 在哪个盘自己确定)运行ObjectDcl.exe,我安装时并没有将程序链接加入开始菜单中,因此须找出程序,自己运行。如开始菜单中有,则可以直接运行。二. 使用1 添加模式对话框运行程序后,如图 1,添加模式对话框。保存文件。注意将文件存于 CAD 搜索路径,或者注意用 LISP 调用时使用全路径。图 12 指定 lisp 文件指定
2、 lisp 文件是指在设计过程中,将这个对话框和控制它的程序文件关联起来,以方便设计。展开右端上方的 Visual / Auto Lisp File name,双击图标,选择程序文件。3 添加控件如图 2,点击左端空间按钮后,在对话框中框出控件大小(此处以按钮控件为例) 。选择控件可以拉动夹点改变控件的大小,并可用鼠标拖动控件改变其位置。图 24 操作控件在右下角的列表中列出了控件的属性(如图3) ,选中属性时,属性列表下方会给出属性的解释。在属性框的另一页 Events 列出这个控件的事件,事件就是捕捉我们对控件做的某些动作,如Onclicked,就是当我们点击按钮时,这个动作就会被捕捉到。
3、当然,捕捉到动作之后,它就会自动调用对应这个动作的函数,关于这个函数的添加和使用,下面会说。我们仍以按钮为例,下面我们来修改按钮的标题。选中按钮控件,在属性列表中找到 Caption 属性,将其原来的标题 TextButton3 改为“确定” ,再看看按钮控件,其标题已变为“确定”了。5 用 LISP 控制对话框首先我们得加载 ObjectDcl 支持程序,在程序开头加入如下语句:(if (not (member “objectdcl2004.arx“ (arx)(arxload “objectdcl2004.arx“ “File objectdcl2004.arx was not find.
4、“);2000 及 2002 则加载 objectdcl.arx注意:须将含有 objectarx2004.arx 文件的路径加到 CAD 的搜索路径里面。然后加载对话框文件,就是之前保存的文件,假设为 sample1.odc:(ODcl_LoadProject “sample1“)显示对话框:(Odcl_Form_Show sample1_DclForm1)关于加载对话框和显示对话框的函数可以在对话框的属性中获得,点击对话框,在空白处点击,不要选中任何控件,在属性中找到 Object Browser,点击后面的按钮,在弹出的对话框中分别找到 Loadproject 和 show,选中后在右边
5、的 Definition 中有函数的定义和说明,找到彩色的函数定义部分,将它复制到 lisp 程序中,根据提示修改参数。也可以点击 Copy To Clipboard按钮复制到剪切板。函数中,蓝色部分表示函数名,绿色表示对象变量(控件或对话框) ,红色是参数,optional表示可选,as 表示参数类型。此处的对象变量是系统自动命名的。它根据你存的文件名,对话框名和控件名来命名。对话框名和控件名在属性中的 name 中修改。一般对话框名和文件名修改一次后就不要再变,因为对象变量是根据它们命名的。如,此例中,文件名为 sample1.odc,对话框名为 DclForm1,按钮控件名为 TextB
6、utton3(注意,这里的控件名不同于它的标题,虽然它们默认时是相同的,控件名为 name,标题为 caption 属性) ,那么此对话框的变量名为 sample1_DclForm1,按钮控件变量为 sample1_DclForm1_TextButton3。你也可以修改属性中的 VarName 来指定变量名,不过一般不要这样做,用系统自动生成的就可以了(我个人认为) 。下面我们来给按钮添加事件。在 Events 中选中 OnClicked,点击 Add to .lsp File,然后回到 Visual Lisp 编辑器,将会有一个提示,表示文件内容已改变,是否需要重新加载,选择是(这里注意,添
7、加前要先保存文件) ,如果不是使用 Vlisp 编辑器,或没有自动探测功能,则须在添加前保存文件,添加事件后重新打开此文件,你会发现文件的末尾增加了一个函数,这个函数就是这个事件的函数。这个函数应该是这样的:(defun c:DclForm1_TextButton3_OnClicked () (Odcl_MessageBox “To Do: code must be added to TextButton3“ “To do“)将函数中的内容删掉,加上:(Odcl_Form_SetTitleBarText sample1_DclForm1 “This is a sample of ObjectD
8、cl”)至此,你可以运行程序了,当你点击按钮时,对话框的标题就改为”This is a sample of ObjectDcl”了。*以下是程序文件完整清单:(defun c:test()(if (not (member “objectdcl2004.arx“ (arx)(arxload “objectdcl2004.arx“ “File objectdcl2004.arx was not find.“);2000 及 2002 则加载 objectdcl.arx(ODcl_LoadProject “sample1“);个人使用经验,次句得执行两次才行,就是需要再加一句一模一样的语句在此。不知道是我的版本问题还是什么问题。(Odcl_Form_Show sample1_DclForm1)(defun c:DclForm1_TextButton3_OnClicked ()(Odcl_Form_SetTitleBarText sample1_DclForm1 “This is a sample of ObjectDcl“)注:如遇到不能运行,主要先查查每个文件是否都在搜索路径内。三. 参考各个控件的属性和方法可以参考 VB 帮助。