DCL帮助
我在玩DCL,用Afralisp和Jeff Sanders。是否可以取消取消按钮,只使用右上角的“X”按钮??
这是我目前为止的Lisp程序:
(defun c:test (/ dcl_id z)
(setq dcl_id (load_dialog "ModZ.dcl"))
(if (not (new_dialog "ModZ" dcl_id))
(exit)
)
(set_tile "Z" "0.00")
(action_tile "But1" "(doButton 1)")
(action_tile "But2" "(doButton 2)")
(action_tile "But3" "(doButton 3)")
(action_tile "Cancel""(done_dialog)")
(start_dialog)
(unload_dialog dcl_id)
(princ)
);defun
(defun doButton(a)
(cond
((= a 1)(alert "Button 1 was pressed!"))
((= a 2)(alert "Button 2 was pressed!"))
((= a 3)(alert "Button 3 was pressed!"))
)
)
我的DCL:
ModZ : dialog {
label = "Modify Z";
: edit_box
{
label = "Elevation :";
key = "Z";
alignment = centered;
edit_limit = 20;
edit_width = 20;
//allow_accept = true
}
: row {
: spacer { height = 1; }
}
:row {
: button {
label = "Single";
key = "But1";
alignment = centered;
width = 12;
}
: button {
label = "Fence";
key = "But2";
alignment = centered;
width = 12;
}
: button {
label = "All";
key = "But3";
alignment = centered;
width = 12;
}
: button {
label = "Cancel";
key = "Cancele";
alignment = centered;
width = 12;
is_cancel = true;
}
}
}
此外,我想在按下按钮1时隐藏dcl。但我不能让它工作。Afralisp正在使用标志,但我无法使其工作。
有人能告诉我如何做到这一点吗?
谢谢 DCL专家在哪里?我仍在试图找出如何隐藏dcl,以便选择一个对象。 你好,乔纳森,
网上有很多关于这个主题的东西。请尝试以下链接:
http://www.afralisp.net/dialog-control-language/tutorials/hiding-dialog-boxes.php
gr.Rlx 我终于成功了。
请随意评论我的代码!
Lisp程序:
(defun c:modz (/ dcl_id )
(if(not Elv)
(setq Elv "0.00")
)
(setq flag 3)
(setq dcl_id (load_dialog "ModZ.dcl"))
(while (> flag 2)
(if (not (new_dialog "ModZ" dcl_id))
(exit)
)
(set_tile "Elv" Elv)
(action_tile "Elv" "(setq Elv $value)")
(action_tile "Accept" "(saveVars)(done_dialog 1)")
(action_tile "Cancel""(done_dialog 0)(setq Elv nil)")
(setq flag (start_dialog))
(if (= flag 1)
(progn
(setq ss (ssget))
(unload_dialog dcl_id)
(command "_.CHANGE" ss "" "_P" "_E" Elv "")
(princ(strcat "Object(s) Elevation set to " Elv))
)
)
)
(princ)
);defun
(defun saveVars(/ Elv)
(setq Elv(distof(get_tile "Elv")))
)
DCL:
ModZ : dialog {
label = "Modify Z";
: edit_box
{
label = "Elevation:";
key = "Elv";
alignment = left;
edit_limit = 20;
edit_width = 20;
}
: row {
: spacer { height = 1; }
}
:row {
: button {
label = "PICK OBJ";
key = "Accept";
alignment = centered;
width = 12;
is_default = true;
allow_accept = true;
mnemonic = "P";
}
: button {
label = "CANCEL";
key = "Cancel";
alignment = centered;
width = 12;
is_default = false;
is_cancel = true;
mnemonic = "C";
}
}
}
页:
[1]