找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 920|回复: 4

[VBA程序]:怎么样实现esc

[复制链接]
发表于 2003-3-12 21:42:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
用vb编程在cad命令行中输入很多的点,当我想按esc键就可以退出这个画点的程序,应该怎么样做
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 181个

财富等级: 日进斗金

发表于 2003-3-12 22:26:36 | 显示全部楼层
一般的话,如果是用GetPoint的话,那么可以检测在出错时用GetVariable("LASTPROMPT")获取最后一次操作的提示,如果按了ESC键,那么最后的提示中一定有Cancel(英文)或者取消(中文)这样的字符,只要这些存在,就知道一定是按了ESC键。
对于你所说的很多点,那就要看实际情况了,请说明清楚一点,或者举个例子,贴个代码之类。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-3-13 09:19:26 | 显示全部楼层
是这样的,利用vb让cad实现line,或者在屏幕上选择一个选择集的内容等,当cad命令行提示操作的时候,如何实现按了esc就可以退出了这个操作呢,用你上面提供的命令,是可以获得lastprompt,但是不是每一种命令行的提示都是一样的,好像我用acadobj.ActiveDocument.Utility.InitializeUserInput 1, "Simple Mutitle"
Dim returnString As String
returnString = acadobj.ActiveDocument.Utility.GetKeyword("请选择修改一条等高线(Simple)  或者 修改多条等高线( Mutitle): ")
当我在命令提示行中按了esc就会 执行下一行的语句了,
如果用你的办法(我的理解)就要在最后一个语句加一个判断lastprompt了,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2003-3-13 19:04:26 | 显示全部楼层
也可以统一处理错误,如下面的例子。

  1.   [FONT=courier new]
  2. Sub test()
  3.     On Error GoTo ErrTrap
  4.     ThisDrawing.Utility.InitializeUserInput 1, "Simple Mutitle"
  5.     Dim returnString As String
  6.     returnString = ThisDrawing.Utility.GetKeyword("请选择修改一条等高线(Simple) 或者 修改多条等高线( Mutitle): ")
  7.     Exit Sub

  8. ErrTrap:
  9.     '发生错误时跳转到这里
  10.     If InStr(ThisDrawing.GetVariable("lastprompt"), "Cancel") Then
  11.     '按了ESC键不处理
  12.     ElseIf InStr(ThisDrawing.GetVariable("lastprompt"), "取消") Then
  13.     '按了ESC键不处理
  14.     Else
  15.         Resume '自己视情况处理
  16.     End If
  17. End Sub
  18.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-3-8 12:19:03 | 显示全部楼层
多谢斑竹,解决我的大问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-23 02:52 , Processed in 0.213834 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表