本帖最后由 vitalgg 于 2022-5-18 05:36 编辑
如果 安装了 @lisp,可以直接在CAD中演示
- ;; 在CAD命令行输入以下代码,即可演示。
- (require 'dcl:*)
- (require 'example:dcl-progressbar)
- (example:dcl-progressbar)
复制代码
查看源码:
- ;; 在CAD命令行输入 以下代码。
- ;; 即可查看演示代码
- (fun:src 'example:dcl-progressbar)
复制代码
- (defun example:dcl-progressbar (/ dcl-fp dcl-tmp valuebar)
- "MVCNIS 法: 6 步进行动态 DCL 开发之进度条" "" ""
- (require (quote dcl:*))
- "1. Model 建立数据模型。"
- (setq value-bar 0.3)
- "2. View 建立显示视图。"
- (dcl:dialog "example")
- (progn
- (dcl:progressbar "pbar1" "width=30;fixed_width=true;" t)
- (dcl:begin-cluster "row" "")
- (progn
- (dcl:button "btn1" "进度-" "")
- (dcl:button "btn2" "进度+" "")
- (dcl:end-cluster)))
- (dcl:dialog-end-ok-cancel)
- "3. Control 创建控制流程"
- (defun chg-bar (step)
- (setq value-bar (+ value-bar step))
- (if (> value-bar 1) (setq value-bar 1)
- (if (< value-bar 0) (setq value-bar 0)))
- value-bar)
- (defun cb-btn1 ()(dcl:set-progressbar "pbar1" (chg-bar -0.1)))
- (defun cb-btn2 ()(dcl:set-progressbar "pbar1" (chg-bar 0.1)))
- "4. New 一个新对话框对象。"
- (dcl:new "example")
- "5. Init 初始化对话框"
- (set_tile "title"
- "dcl-进度条示例")
- (dcl:set-progressbar "pbar1" value-bar)
- "6. Show dialog 显示并进行交互"
- (dcl:show)
- (princ))
|