这个DCL如何做到单击执行命令?
这个DCL如何做到单击执行命令?(defun c:zz()(setvar "cmdecho" 0)
(setq dcl_id (load_dialog "kimage"))
(new_dialog "kimage" dcl_id)
(setq sldkeYI_list'("kimage1" "kimage2" "kimage3" "kimage8" "kimage9" "kimage10" "kimage11" "kimage12"))
(setq sld_list'("kimage(kimage1)" "kimage(kimage2)" "kimage(kimage3)" "kimage(kimage4)" "kimage(kimage5)" "kimage(kimage6)" "kimage(kimage7)" "kimage(kimage8)"))
(mapcar 'show_sld sldkeYI_list sld_list)
(setq ddtype 1)
(mode_tile "kimage1" 2)
(action_tile "kimage1" "(setq ddtype 1)")
(action_tile "kimage2" "(setq ddtype 2)")
(action_tile "kimage3" "(setq ddtype 3)")
(action_tile "kimage4" "(setq ddtype 4)")
(action_tile "kimage5" "(setq ddtype 5)")
(action_tile "kimage6" "(setq ddtype 6)")
(action_tile "kimage7" "(setq ddtype 7)")
(action_tile "kimage8" "(setq ddtype 8)")
(action_tile "accept" "(done_dialog 1)")
(setq dd(start_dialog))
(if (= dd 1)
(cond
((= ddtype 1)(C:11))
((= ddtype 2)(C:22))
((= ddtype 3)(C:33))
((= ddtype 8)(C:44))
((= ddtype 9)(C:55))
((= ddtype 10)(c:66))
((= ddtype 11)(C:77))
((= ddtype 12)(C:88))
)
)
)
(defun show_sld(key sld)
(setq x (DIMx_tile key))
(setq y (DIMY_tile key))
(start_image key)
(fill_image 0 0 x y -2)
(slide_image 0 0 x y sld)
(end_image)
)
kimage:dialog{
label="工具1";
:column{
:row{
:column{
:text{label="11";alignment=centered;}
:image_button {
key = "kimage1";
color = -2;
width = 16;
aspect_ratio = 1;
allow_accept = true;
}}
:column{
:text{label="22";alignment=centered;}
:image_button {
key = "kimage2";
color = -2;
width = 16;
aspect_ratio = 1;
allow_accept = true;
}}
:column{
:text{label="33";alignment=centered;}
:image_button {
key = "kimage3";
color = -2;
width = 16;
aspect_ratio = 1;
allow_accept = true;
}}
:column{
:text{label="44";alignment=centered;}
:image_button {
key = "kimage4";
color = -2;
width = 16;
aspect_ratio = 1;
allow_accept = true;
}}
}
:row{
:column{
:text{label="55";alignment=centered;}
:image_button {
key = "kimage5";
color = -2;
width = 16;
aspect_ratio = 1;
allow_accept = true;
}}
:column{
:text{label="66";alignment=centered;}
:image_button {
key = "kimage6";
color = -2;
width = 16;
aspect_ratio = 1;
allow_accept = true;
}}
:column{
:text{label="77";alignment=centered;}
:image_button {
key = "kimage7";
color = -2;
width = 16;
aspect_ratio = 1;
allow_accept = true;
}}
:column{
:text{label="88";alignment=centered;}
:image_button {
key = "kimage8";
color = -2;
width = 16;
aspect_ratio = 1;
allow_accept = true;
}}
}
}
ok_cancel;
}
(action_tile "kimage1" "(setq ddtype 1)");用户在对话框中选中这个控件时,就会执行(setq ddtype 1)
(setq dd(start_dialog))
(if (= dd 1)
(cond
((= ddtype 1)(C:11)) ;根据ddtype 决定执行哪个函数 我的这个帖子里的示例代码有相关单击和双击的演示!
【Gu_xl】DWG图形到DCL IMAGE图像描点程序应用源码示例 谢谢已解决
页:
[1]