在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例Lisp → CAD autolisp jjj-dcl-make函数

CAD autolisp jjj-dcl-make函数

Lisp

下载此实例
  • 开发语言:Others
  • 实例大小:7.21KB
  • 下载次数:15
  • 浏览次数:119
  • 发布时间:2020-10-10
  • 实例类别:Lisp
  • 发 布 人:luqzcm
  • 文件格式:.rar
  • 所需积分:2
 相关标签: autolisp cad jjj-dcl-make函数

实例介绍

【实例简介】

[jjj-dcl-make lst aaa bbb]  
函数名:jjj-dcl-make
参数
lst:dcl控件列表
aaa:dcl启动时要预先执行的函数名,参数类型为字符串或字符串表,如无预先要执行的函数,则用""空字符串占位。
     示例:"(abc)"     '("(abc)" "(bcd)")
bbb:是否保留dcl文件选项,参数类型为整数。0为不保存,1为保存,保存地址为CAD根目录下的support文件夹中,保存名为dcl标题。

一.lisp表中各控件及组件的书写方式
     控件及组件                                 lisp表格式                                                   示例
  编辑框edit_box             ("控件类型" "控件显示名" "键值" "宽度" "函数名")                  ("bj" "输入" "su" "10" "(abc)")
  文字text                   ("控件类型" "文字内容" "键值" "宽度" "函数名")                    ("wz" "文字内容" "wb" "10" "(abc)")
  按钮button                 ("控件类型" "按钮名称" "键值" "宽度" "高度" "函数名")             ("an" "计算" "js" "10" "2" "(abc)")  
  按钮button                 ("控件类型" "按钮名称" "键值" "宽度" "高度" "函数名" "返回值")    ("an1" "确定" "qd" "10" "2" "(abc)" 1) 
  图像块image_block          ("控件类型" "键值" "宽度" "高度" "图像颜色")                      ("tx" "tx1" "10" "5" "256")
  图标按钮icon_image         ("控件类型" "键值" "宽度" "高度" "函数名" "返回值")               ("tx1" "tb1" "10" "5" "(abc)" 1)
  单选按钮radio_button       ("控件类型" "控件显示名" "键值" "预设值" "函数名")                ("dx" "极坐标" "zb" "1" "(abc)") 
  复选按钮toggle             ("控件类型" "控件显示名" "键值" "预设值" "函数名")                ("fx" "极坐标" "zb" "1" "(abc)") 
  列表框list_box             ("控件类型" "控件显示名" "键值" "宽度" "高度" "函数名")           ("lb" "种类" "zl" "10" "30" "(abc)")
  下拉列表框popup_list       ("控件类型" "控件显示名" "键值" "宽度" "预设值" "函数名")         ("xllb" "种类" "zl" "15" "0" "(abc)") 
  滑杆slider                 ("控件类型" "键值" "宽度" "最小值" "最大值" "预设值" "函数名")    ("hg" "gl" "20" "0" "100" "50" "(abc)")
  密码框edit_box             ("控件类型" "控件显示名" "键值" "宽度" "密码形态" "函数名")       ("mm" "密码" "mima" "20" "*" "(abc)")
  行列row{                   ("组件" "组件属性" "组件对齐方式")                                ("row{" "kd" "zb")
  纵列column{                ("组件" "组件属性" "组件对齐方式")                                ("column{" "kd" "zb")
  行框boxed_row{             ("组件" "组件显示名" "组件属性" "组件对齐方式")                   ("boxed_row{" "文字内容" "kd" "zb")
  纵框boxed_column{          ("组件" "组件显示名" "组件属性" "组件对齐方式")                   ("boxed_column{" "文字内容" "kd" "zb")
  右括号}                    ("组件")                                                          ("}")
  空一行spacer               ("组件")                                                          ("spacer;")
  确定、取消组合键ok_cancel  ("组件")                                                          ("ok_cancel;")
  确定键ok_noly              ("组件")                                                          ("ok_only;")
  取消键cancel_button        ("组件")                                                          ("cancel_button;")

二.注意事项
  1.所有的[控件类型、组件],这两种参数的书写方式为固定不可变的,所有参数的书写顺序也是不可变的。

  2.所有控件及组件的参数中(行列、纵列、行框、纵框除外),[控件显示名、键值、文字内容、按钮名称、组件显示名、宽度、高度]这些参数
    可不提供(如不提供参数时,必须用""空字符串占位)。图像块控件的[图像颜色]参数,以及其他控件的[函数名、返回值]参数均可缺省不提
    供,无需用""空字符串占位。其余参数均为必填参数,且不可用""空字符串代替,所填参数也必须是dcl所指定的参数类型。an1型控件与tx1
    型控件为特殊控件,点击此类控件后会关闭dcl,并返回参数表中指定的返回值,如提供了返回值而未提供函数名时,函数名参数则需用""
    空字符串占位。返回值参数类型为整数,参数1效果等同于点击了确定键,0效果则等同于取消键。如只提供了函数名而缺省了返回值参数时
    则默认返回0

  3.函数还提供了一种控件紧贴模式,2个控件之间可以相互紧贴没有间隙。支持的控件有编辑框控件、an型按钮控件,使用时仅需在控件类型前
    加一个小写t即可。示例:普通型编辑框:("bj" "输入" "su" "10"),紧贴型编辑框:("tbj" "输入" "su" "10")。

  4.行列、纵列以及行框、纵框的参数中,除行框、纵框的[组件显示名]参数不提供时,需由""空字符串占位外,[组件属性、组件对齐方式]两种
    参数可缺省不提供,不提供时无需用""空字符串占位。2种参数类型为字符串,书写方式不可更改,具体含义如下:
    (1)组件属性(全部为小写)
       "kd"   开启使用者自定义宽度功能
       "gd"   开启使用者自定义高度功能
    (2)组件对齐方式(全部为小写)
       "sm"   顶部对齐方式
       "xm"   底部对齐方式
       "zj"   中间对齐方式
       "zb"   左边对齐方式
       "yb"   右边对齐方式

  5.[空一行]、[确定、取消组合键]、[确定键]、[取消键],此类组件在书写时需在后面添加分号。

  6.lisp表中第一项为dcl的定义名,和dcl的标题2个参数,参数类型为字符串,后续项则按dcl格式自行编排。
    完整示例:
    (defun c:tt(/ dcl_lst)
      (setq dcl_lst (list'("dcl" "DCL测试")
         '("boxed_column{" "两点画线")
         '("row{")
         '("bj" "点1x:" "d1x" "5")
         '("bj" "点1y:" "d1y" "5")
         '("}")
         '("row{")
         '("bj" "点2x:" "d2x" "5")
         '("bj" "点2y:" "d2y" "5")
         '("}")
         '("an" "绘制直线" "hz" "27" "")
         '("}")
         '("ok_cancel;")
         '("}")
     )
      )
      (jjj-dcl-make dcl_lst "" 0)
    )

三.dcl排版技巧
  1.[row{、column{、boxed_row{、boxed_column{]组件其实也可以把它看成是一个控件,给它附带fixed_width=true属性时,它会控制自身的
    宽度。其宽度为它所携带控件群集的最大宽度,然后搭配alignment属性,可以使群集在整个dcl水平方向中处于指定位置。如不带fixed_wi
    dth=true属性,群集的宽度将是弹性的,它会调整自身宽度,以最大程度在水平方向占满dcl。垂直方向方法相同,只需将fixed_width=true
    属性改为fixed_height=true即可。示例::boxed_row{label="群集";alignment=centered;fixed_width=true;(此技巧使用方法请查阅注意事
    项中第4条说明)

  2.图像类控件的宽度值是高度值的1倍,就可以使图像控件成正方形显示。


【实例截图】

【核心代码】

jjj-dcl-make函数

├── DCL测试样本.lsp
├── jjj-dcl-make函数.LSP
└── jjj-dcl函数详解.txt

0 directories, 3 files


实例下载地址

CAD autolisp jjj-dcl-make函数

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警