永不言弃 发表于 2015-11-28 10:42:48

练习对话框出问题,求助修改

文本框内容等于点击列表内容,点击确定修改文字高度



(defun c:tt ()
;;;;;对话框
(vl-load-com)
(setq        newname        (vl-filename-mktemp "txsize.dcl")
        f        (open newname "w")
)
(write-line "txsize:dialog { label=\"文字高度设置\";" f)
(write-line
    ":edit_box {label=\"文字高度\";key=\"txtsiz\";is_default=ture; }"
    f
)
(write-line
    ":list_box{label=\"选择字高\";key=\"zgxz\";is_default=ture; }"
    f
)
(write-line "ok_only;} " f)
(close f)
(new_dialog "txsize" (setq dcl_id (load_dialog newname)))
(set_tile "txtsiz" "45")
(start_list "zgxz")
(mapcar 'add_list (setq zgxz (list "1.0" "1.5" "2.0" "3.0""5.0""10.0" "15.0" "20.0" "25.0" "30.0")))
(end_list)
(action_tile "OK" "(get_maisiz)(done_dialog 1)")
(action_tile "zgxz" "(get_maisiz)(done_dialog 2)")
(setq dd (start_dialog))
(cond        ((= dd 1)
       (get_maisiz)
        )
        ((= dd 2)
       (get_maisiz)
        )
)
(start_dialog)
(unload_dialog dcl_id)
(vl-file-delete newname)
(princ)
)

(defun get_maisiz()
(setq pp (get_tile "txtsiz"))
(print "AA")
(print pp)
)



mmmmmm 发表于 2015-11-28 11:37:11

没必要这种联动,直接使用popup_list就行了。

永不言弃 发表于 2015-11-28 13:26:56

mmmmmm 发表于 2015-11-28 11:37 static/image/common/back.gif
没必要这种联动,直接使用popup_list就行了。

之前学了一些,都不记得怎么做的了,哥们能不能帮我实现一下,谢谢

mmmmmm 发表于 2015-11-28 14:10:26

(write-line
    ":list_box{label=\"选择字高\";key=\"zgxz\";is_default=ture; }"
    f
)
改成
(write-line
    ":popup_list{label=\"选择字高\";key=\"zgxz\";is_default=ture; }"
    f
)

ZZXXQQ 发表于 2015-11-28 14:53:04

本帖最后由 ZZXXQQ 于 2015-11-29 08:19 编辑

(defun c:tt ()
;;;;;对话框
(vl-load-com)
(setq newname (vl-filename-mktemp "txsize.dcl")
      f (open newname "w"))
(write-line "txsize:dialog{label=\"文字高度设置\";" f)
(write-line ":edit_box{label=\"文字高度\";key=\"txtsiz\";is_default=ture;}" f)
(write-line ":list_box{label=\"选择字高\";key=\"zgxz\";is_default=ture;}" f)
(write-line "ok_only;} " f)
(close f)
(new_dialog "txsize" (setq dcl_id (load_dialog newname)))
(set_tile "txtsiz" "45")
(start_list "zgxz")
(mapcar 'add_list (setq zgxz (list "1.0" "1.5" "2.0" "3.0" "5.0" "10.0" "15.0" "20.0" "25.0" "30.0")))
(end_list)
(action_tile "OK" "(get_maisiz)(done_dialog 1)")
(action_tile "zgxz" "(set_tile \"txtsiz\" (nth (atoi(get_tile \"zgxz\")) zgxz))")
(setq dd (start_dialog))
(if (= dd 1) (princ pp))
(start_dialog)
(unload_dialog dcl_id)
(vl-file-delete newname)
(princ)
)
(defun get_maisiz ()
(setq pp (get_tile "txtsiz"))
(print "AA")
(print pp)
)

永不言弃 发表于 2015-11-28 15:43:51

ZZXXQQ 发表于 2015-11-28 14:53 static/image/common/back.gif


非常感谢

永不言弃 发表于 2015-11-28 15:48:52

ZZXXQQ 发表于 2015-11-28 14:53 static/image/common/back.gif


(setq pp (get_tile "txtsiz"))不能获得PP的值

Andyhon 发表于 2015-11-28 19:29:47

一般可套用 dos_combolist

Command: (dos_combolist "Set Text Height" "Select a Height" zgxz)
"10.0"

张大锤 发表于 2015-11-28 23:31:12

ZZXXQQ 发表于 2015-11-28 14:53 static/image/common/back.gif


求帮忙能帮帮我吗?

永不言弃 发表于 2015-11-29 08:15:28

张大锤 发表于 2015-11-28 23:31 static/image/common/back.gif
求帮忙能帮帮我吗?

??什么情况
页: [1] 2 3
查看完整版本: 练习对话框出问题,求助修改