zyhandw 发表于 2011-5-23 15:03:39

(已解决)定义的对话框,不能回车“确定”执行

本帖最后由 zyhandw 于 2011-7-29 15:56 编辑

为什么我编写了一个带对话框的程序,程序运行正常,但是就是不能通过回车来确定执行呢?谁帮帮我?

後兮 发表于 2011-5-23 18:21:12

没有程序,怎么能看出问题在哪里。。。。

zyhandw 发表于 2011-7-27 09:31:25

後兮大侠,帮忙看看!
下面是程序,很简单的小程序
(defun c:err()
   (setq st 0);设置状态参数sdt为O
   (setq id (load_dialog "f:\\自编带对话框程序\\err.dcl"))
   (if (< id 0) (exit));如果装入失败则退出
   (if (not (new_dialog "err" id)) (exit));显示名字为err的对话框,如果失败则退出
   (action_tile "accept" "(getstr) (done_dialog 1)");定义OK按钮的活动,然后以1为状态值关闭对话框
   (action_tile "cancel" "(done_dialog -1)");定义Cancel按钮的活动是以-1为状态值关闭对话框
   (setq st (start_dialog)):显示对话框,将得到关闭对话框时的状态值
   (unload_dialog id);卸载对话框文件
   (setq ob_ename (handent handle_ID))
   (setq ge_lst1 (assoc 10 (entget ob_ename)))
   (setq start_p (list (cadr ge_lst1) (caddr ge_lst1)))
   (command "line" start_p)
)

zhynt 发表于 2011-7-27 09:36:24

我想问题应该出来对话框的定义上。请上传对话框

zyhandw 发表于 2011-7-27 10:27:44

谢谢热情回复!
对话框定义如下:
err:dialog
{
label="通过句柄查地物";
:edit_box
{
label="请输入地物的句柄(可list获取)";
key="e_handle";
width=25;
fixed_width=true;
}
ok_cancel;
}

skynoon 发表于 2011-7-27 19:26:26

"(getstr) (done_dialog 1)"此次空格取消"(getstr)(done_dialog 1)"

zyhandw 发表于 2011-7-28 08:18:52

去掉了空格,还是不行!

zhynt 发表于 2011-7-28 08:49:14

本帖最后由 zhynt 于 2011-7-28 08:49 编辑


(defun c:err()
   (setq st 0);设置状态参数sdt为O
   (setq id (load_dialog "f:\\自编带对话框程序\\err.dcl"))
   (if (< id 0) (exit));如果装入失败则退出
   (if (not (new_dialog "err" id)) (exit));显示名字为err的对话框,如果失败则退出

;;;增加这一句:
   (action_tile "e_handle" "(getstr) (done_dialog 1)")

   (action_tile "accept" "(getstr) (done_dialog 1)");定义OK按钮的活动,然后以1为状态值关闭对话框
   (action_tile "cancel" "(done_dialog -1)");定义Cancel按钮的活动是以-1为状态值关闭对话框
   (setq st (start_dialog)):显示对话框,将得到关闭对话框时的状态值
   (unload_dialog id);卸载对话框文件
   (setq ob_ename (handent handle_ID))
   (setq ge_lst1 (assoc 10 (entget ob_ename)))
   (setq start_p (list (cadr ge_lst1) (caddr ge_lst1)))
   (command "line" start_p)
)

6656 发表于 2011-7-28 08:57:08

太多高手了,学习学习

zyhandw 发表于 2011-7-28 09:31:54

zhynt大侠终于来了!用了你的方法成功了,十分谢谢!
页: [1] 2
查看完整版本: (已解决)定义的对话框,不能回车“确定”执行