欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-27 18:13:03
...

本文演示如何实现 在编辑框里按回车相当于点击“确定”按钮
操作步骤:
1、加载lsp
2、执行命令 test
3、在编辑框输入数字
4、按“回车键”
5、对话框关闭(相当于按下了“确定”按钮)
visual lisp/autolisp dcl对话框开发 --用回车键接受输入,结束对话框
代码:
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

相关标签: visual lisp