lisp语言中action_tile的第一个参数设为什么可以操作ok按钮
时间: 2024-02-11 07:10:04 浏览: 22
在 Lisp 中,`action_tile` 函数的第一个参数通常是指定对话框中的控件的名称。在 AutoCAD 中,`ok_cancel` 控件中的“OK”按钮的名称通常是 `"accept"`,因此可以使用 `action_tile` 函数来操作该按钮。
具体来说,`action_tile` 函数允许您为指定的控件指定回调函数,以便在用户与该控件交互时执行特定的 Lisp 代码。在操作 `"accept"` 按钮时,您可以将第二个参数设置为一个 Lisp 表达式,该表达式将在用户点击“OK”按钮时执行。例如,您可以使用以下代码来设置 `"accept"` 按钮的回调函数:
```
(action_tile "accept" "(setq d1 1)")
```
这将在用户点击“OK”按钮时将 Lisp 变量 `d1` 的值设置为 `1`。
相关问题
lisp中如何获得按下ok按钮后的返回值
在 Lisp 中,您可以使用 `start_dialog` 函数启动一个对话框,并指定一个回调函数来处理用户交互。当用户点击对话框中的“OK”或“Cancel”按钮时,Lisp 会调用回调函数,并将用户的选择作为整数值返回。
具体来说,当用户点击“OK”按钮时,回调函数将返回整数值 `1`,而当用户点击“Cancel”按钮时,回调函数将返回 `nil`。您可以通过检查回调函数的返回值来确定用户的选择,并执行相应的操作。例如,以下代码显示一个带有“OK”和“Cancel”按钮的对话框,并在用户点击“OK”按钮时将 `d1` 变量的值设置为 `1`:
```
(setq d1 nil)
(defun my_dialog_callback (ctl)
(cond ((= ctl 1) ; 用户点击 OK 按钮
(setq d1 1)
(done_dialog 0))
((= ctl 2) ; 用户点击 Cancel 按钮
(done_dialog 0))))
(start_dialog
"My Dialog" ; 对话框标题
'(("OK" 1) ("Cancel" 2)) ; 控件列表
60 40 ; 对话框大小
'my_dialog_callback ; 回调函数
)
```
在上面的例子中,当用户点击“OK”按钮时,回调函数将设置变量 `d1` 的值为 `1`,并调用 `done_dialog` 函数关闭对话框。当用户点击“Cancel”按钮时,回调函数只调用 `done_dialog` 函数关闭对话框,而不对变量 `d1` 进行任何更改。
lisp语言中的单引号是什么意思
在Lisp语言中,单引号(')用于引用符号(symbol)或列表(list)。当一个表达式被引用时,它的值不被求值,而是保留为符号或列表本身。例如,在下面的代码中:
```lisp
'(a b c)
```
这个表达式返回一个包含三个符号 a、b 和 c 的列表,因为它是被引用的。而如果省略了引号,如下所示:
```lisp
(a b c)
```
这将被解释为函数调用,其中第一个符号 a 是函数名,而 b 和 c 是传递给函数的参数。