visual lisp/autolisp dcl对话框开发 --用回车键接受输入,结束对话框

本文演示如何实现 在编辑框里按回车相当于点击“确定”按钮
操作步骤:
1、加载lsp
2、执行命令 test
3、在编辑框输入数字
4、按“回车键”
5、对话框关闭(相当于按下了“确定”按钮)
在这里插入图片描述
代码:
enter_edit.ls:

 ;by 鸟哥 qq1833183060
 ;file:enter_edit.lsp
;功能:演示 1、 在编辑框里按“回车”相当于点击“确定”按钮
;所需文件包括: enter_edit.lsp enter_edit.dcl 
;
;加载步骤:
;1、加载lsp
;2、命令行输入 test

(defun c:test ()
	
  (setq dcl_id (load_dialog "enter_edit.dcl"))
  ;加载 DCL 文件

  (if (not (new_dialog "main_dialog" dcl_id))
  ;新建 对话框
    (exit)
    ;新建失败则退出
  )
	
  (action_tile
    "cancel"
    "(done_dialog)
     (setq result nil)"
  )
  ;关闭按钮被点击

  (action_tile
    "accept"
    "(done_dialog)
     (setq result T)"
  )

  (start_dialog)
  ;弹出对话框

  (unload_dialog dcl_id)
  ;卸载对话框

  (princ)

) 

enter_edit.dcl:

//file:enter_edit.dcl
//by 鸟哥
//注意注释里的两个关键点

main_dialog:dialog{
	label="by鸟哥";
	fixed_width=true;
	: edit_box {
		label = "身高";
		key = "VEL";
		edit_width = 5;
		allow_accept = true;//关键点1
	}
	: edit_box {
		label = "年龄";
		key = "RA";
		edit_width = 5;
		allow_accept = true;
	}
	:row{
	fixed_width=true;
		:button{
			key="accept";
			label="确定";
			width=8;
			fixed_width=true;
			is_default=true;//关键点2
		}
		:cancel_button{
			label="关闭";
		}
	}
}

源码地址:https://github.com/1833183060/autolisp-visuallisp-demo/tree/master/dcl

发布了60 篇原创文章 · 获赞 10 · 访问量 3718

猜你喜欢

转载自blog.csdn.net/sinat_18811413/article/details/104292543