muzilongyun 发表于 2008-10-9 14:43:00

请问在AUTOCAD环境中如何判断按键是“ESC”?

<p>我在AUTOCAD中按下“ESC”在命令提示中会显示“*取消*”</p><p>我想在按下“ESC”时运行宏命令,请问怎样捕获按下“ESC”的事件?</p>

muzilongyun 发表于 2008-10-11 20:29:00

<p>&nbsp;本版的人气不旺啊!</p><p>难道我问的问题太简单了吗?</p>

hbyu2003 发表于 2008-10-13 16:50:00

<p>Public Const VK_ESCAPE = &amp;H1B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' 代表Esc键<br/>Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer</p><p>' 功能:判断用户是否按下某一个键<br/>Public Function CheckKey(lngKey As Long) As Boolean<br/>&nbsp; If GetAsyncKeyState(lngKey) Then<br/>&nbsp;&nbsp;&nbsp; CheckKey = True<br/>&nbsp; Else<br/>&nbsp;&nbsp;&nbsp; CheckKey = False<br/>&nbsp; End If<br/>End Function</p>

muzilongyun 发表于 2008-10-13 20:51:00

<p>首先表示感谢<strong><font face="Verdana" color="#61b713">hbyu2003</font></strong>! </p><p>可我不是想问在运行getpoint等命令时的按ESC的出错处理, </p><p>而是想知道在autocad环境中如何能捕获到按下Esc事件, </p><p>比如在cad中,没做任何操作的情况下,按下Esc,如果捕获到,就可以处理相应的程序!</p>

mccad 发表于 2008-10-13 20:54:00

AutoCAD并没有捕获按钮运作的触发机制。

nickliu71 发表于 2009-8-14 08:03:00

挺好,感谢!

StartMe 发表于 2009-8-14 23:45:00

<p>写个随windows自启动的程序常驻内存,监视在CAD打开的情况下是否有按了esc键,如果有则让CAD启动你的宏命令。</p><p><img alt="" src="http://www.mjtd.com/BBS/Skins/default/topicface/face14.gif"/></p>

yxh1202 发表于 2010-6-8 14:46:00

能不能在VBA执行的任何位置按下ESC键就可以取消VBA程序的运行呢,谢谢指教。

洋葱老爹 发表于 2010-6-20 21:06:00

<div id="textstyle_12" style="FONT-SIZE: 12pt; OVERFLOW: hidden; WORD-BREAK: break-all; TEXT-INDENT: 0px; WORD-WRAP: break-word">读取系统变量"erron",根据返回值可以知道是否按了ESC键或别的什么键. </div>好像返回7就是按了ESC键,详细对应值参看开发人员标准吧.里面有详细列表,不过是E文的.

顽石 发表于 2010-6-22 23:36:00

yxh1202发表于2010-6-8 14:46:00static/image/common/back.gif能不能在VBA执行的任何位置按下ESC键就可以取消VBA程序的运行呢,谢谢指教。


<p>可以在对应的控件的keypress事件中写代码,用ASCII码来判断,如下所示</p>
<p>&nbsp;</p>
<p><font face="Verdana">Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)<br/>&nbsp; If KeyAscii = 27 Then<br/>&nbsp;&nbsp;&nbsp; End<br/>&nbsp; End If<br/>End Sub</font></p>
页: [1]
查看完整版本: 请问在AUTOCAD环境中如何判断按键是“ESC”?