下面是一个简单的例子。
不幸的是,虽然可以钩住UnknownCommand事件,但生成的错误消息是由编辑器发送的(可能是通过调用WriteMessage()方法?),即使NOMUTT==1,也无法阻止。
[编辑]-对于这一点,通过可能会更成功。NET API*不确定*
- (vl-load-com)
- (defun c:UnknownCommand ()
- (if *UnknownCommandReactor*
- (progn
- (vlr-remove *UnknownCommandReactor*)
- (setq *UnknownCommandReactor* nil)
- (setq onUnknownCommand nil)
- (prompt "\n** Unknown command reactor stopped ** ")
- )
- (progn
- (setq *UnknownCommandReactor*
- (vlr-command-reactor
- "My unknown command reactor"
- '(
- (:vlr-unknowncommand . onUnknownCommand)
- )
- )
- )
- (defun onUnknownCommand (rea cmd)
- (alert (strcat "You typed: ""
- (car cmd)
- "" which isn't a valid command. "
- )
- )
- )
- (prompt "\nUnknown command reactor loaded. ")
- )
- )
- (princ)
- )
|