(已解决)定义的对话框,不能回车“确定”执行
本帖最后由 zyhandw 于 2011-7-29 15:56 编辑为什么我编写了一个带对话框的程序,程序运行正常,但是就是不能通过回车来确定执行呢?谁帮帮我? 没有程序,怎么能看出问题在哪里。。。。 後兮大侠,帮忙看看!
下面是程序,很简单的小程序
(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)
) 我想问题应该出来对话框的定义上。请上传对话框 谢谢热情回复!
对话框定义如下:
err:dialog
{
label="通过句柄查地物";
:edit_box
{
label="请输入地物的句柄(可list获取)";
key="e_handle";
width=25;
fixed_width=true;
}
ok_cancel;
} "(getstr) (done_dialog 1)"此次空格取消"(getstr)(done_dialog 1)" 去掉了空格,还是不行! 本帖最后由 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)
)
太多高手了,学习学习 zhynt大侠终于来了!用了你的方法成功了,十分谢谢!
页:
[1]
2