vlisp如何打开多重选择文件对话框
lisp中有getfiled函数打开选择文件,可是不能多重选择,又没有别的办法,可以进行多重选择? (dos_getfilem) in DosLib http://www.xdcad.net/forum/showthread.php?s=&threadid=462509 <P>alin版主:可以不用doslib吗?因为这个跟版本有关系的,我个人不是很喜欢。</P><P>ea:你那个链接打不开。我在xdcad上搜索了一下,也没有发现有价值的。</P>
<P>其实,这个功能我可以通过vb ActiveX DLL来实现,但是我就是想知道不通过这个,在vlisp下的直接调用系统资源能否实现?</P> <P>这是最简洁的办法。DosLib又不是只有这个函数有用。</P> 本帖最后由 作者 于 2005-9-25 18:21:26 编辑
http://www.xdcad.net/forum/forumdisplay.php?s=&forumid=50
;;test OK with XP
(defun xd-getfiles (/ x erg)
(if (setq x (vlax-create-object "MSComDlg.CommonDialog"))
(progn (vlax-put-property x "DialogTitle" "选择图形文件")
	 (vlax-put-property x "Filename" "*.dwg")
	 (vlax-put-property x "Filter" "*.dwg")
	 (vlax-put-property x "MaxFileSize" 10000)
	 ;; in lisp unbedingt notwendig, sonst kommt ne
;;fehlermeldung von wegen zu wenig speicher
	 (vlax-put-property x "Flags" 512)
	 (vlax-put-property x "Action" 1) ;_ showopen-dialog
	 (setq erg (vlax-get-property x "Filename"))
)
)
(if (/= erg "*.dwg")
erg
nil
)
)
Ea发表于2005-9-25 17:38:00static/image/common/back.gif
谢谢ea:可以实现,但是这个窗口很难看,不是vb中的那个多选框那么漂亮。ea:这个程序一模一样相同功能还可以通过脚本来实现。 很遗憾漂亮的对话框不能多选,解决方案寻找中。<br> 6楼 ,我在winxps2 + CAD2006 下运行,返回nil。
<P>怎么回事啊?</P> <P>改变 "flags"参数的值,可以得到不同的对话框</P>
<P>(vlax-put-property x "Flags" 512)</P>
<P>具体的数值可以查相关的帮助。</P>
<P> </P>