[讨论]让对话框显示上次输入值--OKl了谢谢各位的关注与帮助
本帖最后由 作者 于 2008-6-18 0:38:57 编辑如题所问,请知道的朋友介绍一下,谢谢 可以将值保存在全局变量中,下次使用时,调用此变量值 <p>利用VL-REGISTRY-XXXXX系列的命令</p><p>從WINDOWS的註冊表中讀取,寫入,刪除,新增</p> 思路:将变量定义成全局变量的同时,作一个判断语句(如判断某一变量是否为真作为条件,此时此变量不要赋初如值,然后再在后面语句中将该变量赋值,最终达到上述功能),条件成立时设定最初值,不成立时再起动对话框时将值设为其它值。 楼上正解! <p>哪位朋友有这样示例?帖一个上来好吗,谢谢</p> <p>(defun c:test (/ id flag str)<br/> (if (and (>= (setq id (load_dialog "test.dcl")) 0)<br/> (new_dialog "TEST_DCL" id)<br/> )<br/> (progn<br/> (if $test_str$<br/> (set_tile "str" $test_str$)<br/> )<br/> (action_tile "str" "(setq str $Value)")<br/> (action_tile "accept" "(done_dialog 1)")<br/> (action_tile "cancel" "(done_dialog 0)")<br/> (setq flag (start_dialog))<br/> (unload_dialog id)<br/> (if (and (= flag 1) str)<br/> (setq $test_str$ str)<br/> $test_str$<br/> )<br/> )<br/> )<br/>)</p><p></p><p>TEST_DCL<br/> : dialog { label=" 对话框测试";<br/> : edit_box { label=" 输入字符串:"; key="str"; }<br/> ok_cancel;<br/> }</p> <p><strong><font face="Verdana" color="#61b713">各位朋友,假如我要实现的是:</font></strong></p><p><strong><font face="Verdana" color="#61b713">打开对话框>输入A,B,C,D四值>点击"选择">关闭对话框进入CAD选取>右键返回对话框.</font></strong></p><p><strong><font face="Verdana" color="#61b713">请问操作到"右键返回对话框"时如何保证之前输入的A,B,C,D值还在对话框中呢??</font></strong></p> 7楼的程序可以满足你的要求啊。 <p>;;用 while 可以完成的对话框的回调</p><p>(while (and (/= flag 1) (/= flag 0)) ;;设定循环退出的条件(如用户点了 ok 或 cancel 按钮)<br/> .... ;; 初始化显示对话框<br/> .... ;; 对 key 值进行初始设置</p><p> ....<br/> (action_tile "select" "(done_dialog 2)") ;;用户按下“选择”按钮<br/> (action_tile "accept" "(done_dialog 1)")<br/> (action_tile "cancel" "(done_dialog 0)")<br/> ....<br/> (setq flag (start_dialog)) ;;关闭对话框,回到图形界面,返回 2<br/> (cond ((= flag 2)<br/> (ssget) ;;执行选择,按右键,因为 flag 值/=1,/=0,<br/> ;;而没有达到退出while的条件,所以重新显示对话框</p><p>....</p>
页:
[1]
2