原地踏步 发表于 2007-7-7 23:40:00

真是个好东东。感谢楼主了!

mmmmmm 发表于 2007-7-9 10:43:00

本帖最后由 作者 于 2007-7-9 17:18:47 编辑 <br /><br /> <p>还真是耳目一新,不错。许多年了,很少有这样的辅助DCL程序。这种出新还是值得提倡的。</p><p>1:不要和Protobox比,毕竟那是15年前的产品。</p><p>2:发现个BUG:加入Radio_column, Radio_row, Boxed_radio_column, Boxed_radio_row, Toggle和Text_part时,属性列表中的“KEY”给丢了。</p><p>3:回收站的设想不错,建议当回收站中有控件被选取,在属性列表中显示选中控件的属性,我不知道回收站的内容是否也能保存以便下次读取,如果不能,建议加上。</p>

c3a139 发表于 2007-7-9 16:34:00

没用过,哪位举个例子演试一下

phoenixdjq 发表于 2007-7-9 19:51:00

繁体与简体在word中就可以转换的

飞诗(fsxm) 发表于 2007-7-9 21:57:00

本帖最后由 作者 于 2007-7-10 22:00:12 编辑

下面是控件数据集合,因为我是从cad中的help的copy过来的~
呵呵,还真的很多的属性没有收录到哦~
非常感谢mmmmmm 指出来。
还有就是:dialog 也有width,height等属性CAD中的help中也没有收录
可能还有很多的属性没有收录到~
再就是如: cancel_button之类常用到的CAD中的help也没有收录,
在我的大意下也没有加入进去~
还有很多的控件与属性or BUG敬请大家指出,
在下一个版本中我一定加上~
回收站的功能本来可以做的与工作区一模一样的~
但为了为了节省有限的界面空间,也为了突出工作区的重点,
所在没有这样做了~不过我下一个版本会给回收站加一个“局部预览”
这样可以直观的看出回收站中控件属性了。
V1。2版的可以“多次导入”而不会覆盖现存于工作区的内容
导出回收站可以通过工作区导出~
导入到回收站也可以通过导入到工作区再移到回收站。

;;=========================容器控件类===============================
(setq rq
       '
((:dialog "对话框" initial_focus label value)
(:boxed_row      "横框架"alignment
   children_alignment children_fixed_height
   children_fixed_width   fixed_height
   fixed_width      heightlabel
   width
)
(:boxed_column       "竖框架"    alignment
   children_alignmentchildren_fixed_height
   children_fixed_width   fixed_height
   fixed_width       height    label
   width
)
(:row       "横排列"alignment
   children_alignment children_fixed_height
   children_fixed_width   fixed_height
   fixed_width      heightlabel
   width
)
(:column      "竖排列"alignment
   children_alignment children_fixed_height
   children_fixed_width   fixed_height
   fixed_width      heightlabel
   width
)
(:boxed_radio_row    "横单选框"   alignment
   children_alignmentchildren_fixed_height
   children_fixed_width   fixed_height
   fixed_width       height    label
   width
)
(:boxed_radio_column"竖单选框"
   alignment      children_alignment
   children_fixed_height
   children_fixed_width fixed_height
   fixed_width      height
   label         width
)
(:radio_row       "横单选排列"   alignment
   children_alignmentchildren_fixed_height
   children_fixed_width   fixed_height
   fixed_width       height    label
   width
)
(:radio_column       "竖单选排列"   alignment
   children_alignmentchildren_fixed_height
   children_fixed_width   fixed_height
   fixed_width       height    label
   width
)
)
)
;;=========================独立控件类===============================
(setq dl
       '
(
(:edit_box "编缉框"      action   alignment
   allow_accept edit_limit    edit_width    fixed_height
   fixed_width height       is_enabled    is_tab_stop
   labelmnemonic      value   width
   password_char
)
(:image       "图片"   actionalignment
   aspect_ratio color   fixed_height fixed_width
   height       is_enabled   is_tab_stopmnemonic
   value      width
)
(:image_button"图片按扭" action      alignment
   allow_acceptaspect_ratio color      fixed_height
   fixed_widthheightis_enabled   is_tab_stop
   mnemonicwidth
)
(:button      "按扭"   actionalignment
   fixed_height fixed_widthheightis_cancel
   is_default   is_enabled   is_tab_stoplabel
   mnemonic   width
)
(:list_box "列表框"      action   alignment
   allow_accept fixed_heightfixed_width   height
   is_enabled is_tab_stop   label   list
   mnemonic multiple_select      tabs
   valuewidth
)
(:popup_list"下拉框"   actionalignment
   edit_width   fixed_height fixed_widthheight
   is_enabled   is_tab_stoplabellist
   mnemonic   tabs   valuewidth
)
(:radio_button "单选按扭"    action   alignment
   fixed_height fixed_width   height   is_enabled
   is_tab_stop label       mnemonic   value
   width
)
(:slider "滚动条"      action   alignment
   big_increment fixed_heightfixed_width   height
   labellayout       max_value   min_value
   mnemonic small_increment      value
   width
)
(:text       "文本"   alignment   fixed_height
   fixed_width height   is_bold   label   value
   width
)
(:text_part
   "文本?"
   label
)
(:toggle      "开关"   actionalignment
   fixed_height fixed_widthheightis_enabled
   is_tab_stoplabel   width
)
(:spacer "空白" alignment fixed_height fixed_width height width)
)
)
;;=========================标准控件类===============================
(setq bz
       '
("spacer_0;"   "spacer_1;"
"errtile;"   "ok_only;"
"ok_cancel;"   "ok_cancel_help;"
"ok_cancel_help_errtile;"
"ok_cancel_help_info;"
)
)

飞诗(fsxm) 发表于 2007-7-9 22:29:00

本帖最后由 作者 于 2007-7-9 22:41:45 编辑

发一个附加的“树状”功能:
两种树结构中
个人推荐用“资源管理器”的结构。直观可视性强。
当然如果你习惯于DCL的结构还是可以用DCL的树结构
请保存成.lsp文档 再通过“I.导入”导入成功后会出一个提示
之后就可以看到效果。~

((lambda (/ p1 p2 tree)
   (setq tree
   (dcl_get_popup
   "本文件内共有两种树状结构可选:"
   '("资源管理器树状结构" "DCL标准树状结构")
   nil
   )
   )
   (if tree
   (progn
       (cond
((= tree "DCL标准树状结构")
   (defun format_worklist (a / xx str2)
   (strcat (fsxm-string "" (1- (length (car a))))
      (cadr a)
   )
   )
   (alert "DCL标准树状结构加载成功 ")
)
(t
   (defun format_worklist (a / xx str2)
   (setq str2 (cadr a))
   (setq xx (cond ((= str2 "}") "│└**End**")
      ((= str2 "") "│")
      (t (strcat "├" (vl-string-trim "{" str2)))
       )
   )
   (substr (strcat (fsxm-string "│" (1- (length (car a)))) xx)
      3
   )
   )
   (alert "资源管理器树状结构加载成功 ")
)
       )
       (setq p1 (get_tile "work"))
       (setq p2 (get_tile "lj"))
       (update "work")
       (update "lj")
       (set_tile "work" p1)
       (set_tile "lj" p2)
   )
   (alert "加载被取消")
   )
)
)
nil

vken7az2p 发表于 2007-7-10 06:21:00

<p>试过了繁体版本终于看到清楚的按钮名称了,谢谢作者的用心<br/>发现到在存档,另存,及存成dcl上面的按钮作用,<br/>好像是提示要开启已存在的档案存档<br/>非是另存一个文件,<br/>不知道是不是您当初设计的意思呢?</p><p>希望能再看到您的更新作品</p><p></p><p></p><p></p><p><br/></p>

mmmmmm 发表于 2007-7-10 12:50:00

<p>树状结构是个好想法,支持。不过建议在主界面增加radio_button来给用户选择显示的方式会更好。没有必要在导入时提问。</p><p></p>

飞诗(fsxm) 发表于 2007-7-10 21:59:00

<p><font face="Verdana" color="#61b713"><font color="#000000">正如</font><strong>vken7az2p</strong><font color="#000000">说的一样</font></font></p><p><font face="Verdana" color="#61b713"><font color="#000000">现在的只能选取</font></font>存在的档案.因为只调用了lisp中getfile函数~</p><p>当然用vlisp方法调用通用对话框也是可以有~(不过兼容性不保证)</p><p>而且我现在这几个版本只是侧重于"功能上加强"没有对细节改进!</p><p></p><p>希望大家多提意见~在下一版本中能做到的一定会加上去!</p><p>特别是关于程序功能上建议我一定会重点考虑!多谢!</p>

mmmmmm 发表于 2007-7-11 09:32:00

getfile函数是可以创建新文件的,请仔细参考getfile函数的帮助。
页: 1 [2] 3 4
查看完整版本: [原创]★listdcl的编缉器★ 替代dcl的完美解决方案!