您的位置:网站首页 > CAD新闻

getstrings输入字符的时候,再有默认字符

时间:2010-11-18 21:33:30 来源:未知

有的时候,想修改一个字符串,可以又不想全部输入.
这时候如果想不用对话框的话,就可以试试以下的办法.
用SENDKEYS这个函数,可以事先输入一些字符串.
当时,如果是中文的话,可能还有点问题.

Quote
(defun c:tt()
(SENDKEYS "aabb")
(GETSTRING "ntest:")
)
Quote
如果是中文的话,可以先放入剪贴板,然后用
(SENDKEYS "^v") 就可以显示在命令行了

放入剪贴板的方法,晓东CAD里面有
Quote
;|
功能
在程序运行过程中按下功能建
语法
(SendKeys keys )
参数
keys:键名
样例
,(sendkeys "{F3}") 相当于按下F3键
(sendkeys "{CAPSLOCK}") 相当于按下大小写键
(sendkeys "^c") 相当于按下CTRL+C键
(sendkeys "%F") 相当于按下ALT+F键
(sendkeys "^{TAB}")
说明
(if (not commandreactor)
(setq commandreactor
(vlr-command-reactor
nil
'((:vlr-commandwillstart . haha))
)
)
)
(defun haha (var1 var2)
(if (wcmatch (vl-princ-to-string (strcase (car var2))) "*PLOT")
(progn
(sendkeys "{ESC}")
(princ "n不准打印!")
)
)
)
|;
(defun SendKeys (keys / ws)
(setq ws (vlax-create-object "WScript.Shell"))
(vlax-invoke-method ws 'sendkeys keys)
(vlax-release-object ws)
(princ)
)