visual lisp dcl对话框开发 --滑动条(slider)

演示dcl滑动条用法
slider.lsp:

;by 鸟哥 qq1833183060
;功能:演示 1、 slider
;所需文件包括: slider.lsp slider.dcl
;
;加载步骤:
;1、加载lsp
;2、命令行输入 test
(defun c:test( / continue curBtn dlgId )    
    (setq dlgId (load_dialog "slider.dcl"))        
        (if (not (new_dialog "a" dlgId))
            (exit)
        )
		(set_tile "myedit" "30")	
		(set_tile "myslider" "30")

		(action_tile "myslider"				;用户滑动slider时触发
		"(slider_action $value $reason)")		;调用slider_action

		(action_tile "myedit" 					;用户修改编辑框文字时触发
		"(ebox_action $value $reason)")		;调用ebox_action

		(defun slider_action (val why)			
			(if (or (= why 2) (= why 1))		
				(set_tile "myedit" val)
			)
		)			

		(defun ebox_action (val why)			
			(if (or (= why 2) (= why 1))	
				(set_tile "myslider" val)
			)
		)
        (start_dialog)
        
        (cond ((= curBtn "btn1") (f1))
            ((= curBtn "cancel") (setq continue nil))
           
        )
 
    (unload_dialog dlgId)
	
)

slider.dcl:

a:dialog{
	label="slider";		
	
	: edit_box {				//*define edit box
         key = "myedit" ;				//*give it a name
         label = "滑动条的值" ;	//*give it a label
         edit_width = 6 ;			//*6 characters only
        }
	: slider {				//*defin slider
        key = "myslider" ;			//*give it a name
        max_value = 100;			//*upper value
        min_value = 0;				//*lower value
        value = "50";				//*initial value
        }
	:row{		
		:button{
			key="okBtn";
			label="确定";
			
		}
		:cancel_button{
			label="关闭";
		}
	}			
	
}

在这里插入图片描述

源码已同步到 github:https://github.com/1833183060/autolisp-visuallisp-demo/tree/master/dcl

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

猜你喜欢

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