another2121 发表于 2010-11-29 22:18:19

对话框问题

      做了一个可以输入字符的对话框, 第一次运行lisp程序的时候,里面的文本框内容是空的;第二次运行lisp程序的时候,要怎么样才能显示第一次运行时输入的字符呢?
      大概情况如下 :
            1. 第一次运行的时候的状态:
          -----------------------------------------------------------------------------------
          |                                                                                                   |
          |             请输入你的信息:                                                          |
         -----------------------------------------------------------------------------------

          2. 第一次运行的时候输入内容:   飞龙在天
          -----------------------------------------------------------------------------------
          |                                                                                                   |
          |             请输入你的信息:   飞龙在天                                       |
         -----------------------------------------------------------------------------------
         3. 第二次运行的时候的状态:   
          -----------------------------------------------------------------------------------
          |                                                                                                   |
          |             请输入你的信息:   飞龙在天                                       |
         -----------------------------------------------------------------------------------
          4. 第二次运行的时候输入内容:   一二三四五六   
          -----------------------------------------------------------------------------------
          |                                                                                                   |
          |             请输入你的信息:   一二三四五六                                  |
         -----------------------------------------------------------------------------------

xshrimp 发表于 2010-11-30 10:06:53


(defun c:test ()
(setq dclname
(cond
((setq tempname (vl-filename-mktemp "gps-dcl-tmp.dcl") filen (open tempname "w"))
(foreach stream
'(
"test:dialog{:edit_box{key=\"edit\";label=\"请输入文字:\";}ok_cancel;}\n"
)
(princ stream filen)
)
(close filen)
tempname
)))
(setq dclid (load_dialog dclname))
(if (not (new_dialog "test" dclid)) (progn (alert "dcl对话框加载失败.")(exit)))

(if #editvalue# (set_tile "edit" #editvalue#))
(mode_tile "edit" 2)
(action_tile "edit" "(setq #editvalue# $value)")
(start_dialog)
(unload_dialog dclid)
(vl-file-delete dclname)
)

another2121 发表于 2010-11-30 12:53:42

非常感谢。。。我要的正是这个效果。。。
      另外,可不可以用VLISP编个出来呢?我是新手,还没有学习这个vl-xxxxx-xxxxxx的lisp编 程 。。。。

liminnet 发表于 2010-12-1 13:11:02

another2121 发表于 2010-12-3 19:35:30

好的。。。谢谢。。。

zwqgdhl 发表于 2011-7-11 10:53:05

顶,好东东,先下载了再研究

hehoubin 发表于 2012-12-4 03:21:40

很好,能问下。(mode_tile "edit" 2)
这句是什么意思

illcyt 发表于 2013-9-23 23:05:53

xshrimp 发表于 2010-11-30 10:06 static/image/common/back.gif


非常好的代码,留作学习了,谢谢
页: [1]
查看完整版本: 对话框问题