明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7455|回复: 19

[求助]小小的程序, 這個對話框的內容如何實現動太顯示呢???

  [复制链接]
发表于 2003-11-11 15:23:00 | 显示全部楼层 |阅读模式
各位尊敬的大俠你們好.
       我不知這個問題如何才可能解決, 所以專門來向大家請教來了. 希望得到大家的幫忙實現. 我將非常感謝.


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2003-11-15 11:55:00 | 显示全部楼层

回复

我觉得按常规的方法可能是不行,因为"abc"取得焦点时,"t_line_one"就不能同时取得,
而且只有当"abc"焦点改变时,才能确定它的值,如:
(action_tile "abc" "(setq val $Value) ")
发表于 2003-11-15 12:06:00 | 显示全部楼层
不是焦点的问题,而是动作问题,因为在文本框里写东西的时候不会有任何动作发生,
(aciton_tile "abc" ...)要在输入确定后在会激发。所以在VL里是不可能实现这个的
发表于 2003-11-15 14:38:00 | 显示全部楼层

回复

meflying版主说的好.
lisp语言是一种脚本语言,它不是面向对象程序,只有执行完一个语句才能执行后面的语句.
比如,vb中文本框控件有change事件,文本框中输入的数据改变时可以执行其它操作...
 楼主| 发表于 2003-11-15 15:24:00 | 显示全部楼层
呵呵, 我原來以為是可以的. 看了名位大俠的講解. 我明白了. 對你們熱情的解說我非常感謝 ! !
发表于 2005-1-9 14:12:00 | 显示全部楼层
用VBA或ARX就非常简单了!
发表于 2005-1-17 03:48:00 | 显示全部楼层
关于对话框内容的动态显示是可以实现的 由于语言与文化的差异关于对话框的机制方面的书籍大多翻译自AUCAD的帮助文档.而AUTOCAD的帮助文档也存在着的过于简略的问题 关于本程序中的对话框显示建议将文本控件改用编辑框控件这样当在下部的编辑框中输入数字后将光标移到上面的编辑框中则上面的编辑框中的数字就会根据程序的计算而动态显示出来了 这个机理是根据对话框的动作表达式$value,$reason的缺省值,回调原因码的缺省值而自动完成的如果读者完成过滑动条与编辑框的联动程序编制就能深刻理解了 修改后的对话框程序如下 innumber:dialog{//C:TEST
label="笆篈抽";
:boxed_column {
:edit_box{label="The circle radius:";key="t_line_one";edit_width=10;}
:row{
:edit_box{ label="计块:";key="abc";edit_width=10;}
: ok_button { is_cancel = true;}}}} 修改后的lsp程序如下: (DEFUN c:test (/ dcl dd)
(setq dcl (load_dialog "test.dcl"))
(new_dialog "innumber" dcl)
(if (= alen nil)(setq alen 20))
(set_tile "t_line_one" (strcat (rtos alen 2 0) "mm"));;" The circle radius [ " "mm)"
(set_tile "abc" (strcat (rtos alen) ))
(action_tile "abc" "(lab1 )")
;;(action_tile "accept" "(bdy_get_lengthen) (done_dialog 1) ")
(setq dd (start_dialog))
(command "circle" pause alen)
(princ)) (defun lab1 ( / )
(setq lenb (atof (get_tile "abc")))
(setq alen (+ lenb alen))
(set_tile "t_line_one" (strcat (rtos alen 2 0)))
) ;(defun bdy_get_lengthen ()
; (setq lenb (atof (get_tile "abc"))
; alen (+ lenb alen)
; )
; ) wudongwei@163.com
发表于 2005-1-23 17:05:00 | 显示全部楼层
楼上修改的程序确实好用,受教,现在我正在学如何编写对话框,请多指教.
发表于 2005-7-28 09:46:00 | 显示全部楼层

7楼所改的,用了出问题,半径改不了!

发表于 2005-11-20 16:42:00 | 显示全部楼层
用objectdcl可以实现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 11:46 , Processed in 0.180459 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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