如何为对话框添加取消按钮,我这里按了“取消”跟按了“确定”是一样的效果!怎么修改! 或者在以下红色部分,改为提示2次,如果2次后还是NIL则,退出对话框! (DEFUN C:pma() (SETQ DCL_ID (LOAD_DIALOG "aaa")) (NEW_DIALOG "aaa" DCL_ID) ;(SET_TILE "pma_pn" "0") (SET_TILE "pma_pname" printername) (SET_TILE "pma_ptype" paper) (ACTION_TILE "accept" "(S_RECT)(DONE_DIALOG)") (START_DIALOG) (UNLOAD_DIALOG dcl_id) (PRINC)) (DEFUN S_RECT() (setq fff (atoi (get_tile "pma_type"))) (if (>= fff 0) (progn (cond ((= 0 fff) ;(setq dyfs (get_tile "pma_pn")) (setq dyfs (itoa (+ (atoi (get_tile "pma_pn")) 1))) (setq xmdh (get_tile "project_name")) (if (= xmdh "") (progn (alert "请输入项目代号") (c:pma) );;;end progn );;;end if (setq lx "白图") (vl-load-com) (foreach n gmlb (VL-FILE-COPY (STRCAT pltpath n) (STRCAT "\\\\192.168.1.16\\tempplt\\" n))) ;;\\\\192.168.1.16\\tempplt\\ (foreach n gmlb (vl-file-delete (strcat pltpath n))) ) ((= 1 fff) (setq dyfs (itoa (+ (atoi (get_tile "pma_pn")) 1))) (setq xmdh (get_tile "project_name")) (if (= xmdh "") (progn (alert "请输入项目代号") (c:pma) );;;end progn );;;end if (setq lx "硫酸纸") (vl-load-com) (foreach n gmlb (vl-file-copy (strcat pltpath n) (strcat "\\\\192.168.1.16\\tempplt\\" n))) (foreach n gmlb (vl-file-delete (strcat pltpath n))) ) )))
) (c:pma)
DCL如下: dcl_settings : default_dcl_settings { audit_level = 3; } aaa : dialog { label = "PMA系统"; : boxed_column { label = "打印信息"; mnemonic = "?"; : edit_box { label = "项目代号"; key = "project_name"; mnemonic = "????钾矑?矑?="; } : popup_list { label = "打印张数"; key = "pma_pn"; mnemonic = "?"; list = "1\n2\n3\n4\n5\n6\n7\n8\n9\n10"; } : popup_list { label = "纸张类型"; value = "jmj"; key = "pma_type"; mnemonic = "?"; list = "白图\n硫酸纸"; } : edit_box { label = "打印机名"; key = "pma_pname"; mnemonic = "?"; is_enabled = false; width = 30; } : edit_box { label = "图纸大小"; key = "pma_ptype"; mnemonic = "?联鯀?钾矑粼矒?ē"; is_enabled = false; } } ok_cancel; } |