明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1803|回复: 10

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

[复制链接]
发表于 2011-5-23 15:03 | 显示全部楼层 |阅读模式
本帖最后由 zyhandw 于 2011-7-29 15:56 编辑

为什么我编写了一个带对话框的程序,程序运行正常,但是就是不能通过回车来确定执行呢?谁帮帮我?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2011-5-23 18:21 | 显示全部楼层
没有程序,怎么能看出问题在哪里。。。。
 楼主| 发表于 2011-7-27 09:31 | 显示全部楼层
後兮大侠,帮忙看看!
下面是程序,很简单的小程序
(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)
)
发表于 2011-7-27 09:36 | 显示全部楼层
我想问题应该出来对话框的定义上。请上传对话框
 楼主| 发表于 2011-7-27 10:27 | 显示全部楼层
谢谢热情回复!
对话框定义如下:
err:dialog
{
label="通过句柄查地物";
:edit_box
{
  label="请输入地物的句柄(可list获取)";
  key="e_handle";
  width=25;
  fixed_width=true;
}
ok_cancel;
}
发表于 2011-7-27 19:26 | 显示全部楼层
"(getstr) (done_dialog 1)"  此次空格取消"(getstr)(done_dialog 1)"
 楼主| 发表于 2011-7-28 08:18 | 显示全部楼层
去掉了空格,还是不行!
发表于 2011-7-28 08:49 | 显示全部楼层
本帖最后由 zhynt 于 2011-7-28 08:49 编辑

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

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

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

发表于 2011-7-28 08:57 | 显示全部楼层
太多高手了,学习学习
 楼主| 发表于 2011-7-28 09:31 | 显示全部楼层
zhynt大侠终于来了!用了你的方法成功了,十分谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-15 01:44 , Processed in 0.150240 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表