雪山飞狐_lzh 发表于 2004-6-11 10:02:00

本帖最后由 作者 于 2004-6-11 10:48:47 编辑 <br /><br /> 部分屏蔽可以这样做



Private pUnLoadDbClick As Boolean<BR>Private Sub AcadDocument_BeginDoubleClick(ByVal PickPoint As Variant)<BR>Dim ss As AcadSelectionSet<BR>Dim pobj As AcadEntity<BR>                       Set ss = ThisDrawing.PickfirstSelectionSet<BR>                       Set pobj = ss(0)<BR>                       If ss.Count = 1 And pobj.EntityName = "AcDbBlockReference" Then<BR>                                                       If Not pUnLoadDbClick Then Application.UnloadArx "acdblclkedit.arx": pUnLoadDbClick = True<BR>                       Else<BR>                                                       If pUnLoadDbClick Then Application.LoadArx "acdblclkedit.arx": pUnLoadDbClick = False<BR>                       End If<BR>End Sub<BR>

sule365 发表于 2004-6-11 11:11:00

<TABLE border=0 class=tablebody2 style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" width="90%">
<TBODY>
<TR>
<TD style="FONT-SIZE: 9pt; LINE-HEIGHT: 12pt" width="100%"><IMG alt=发贴心情 border=0 src="http://www.mjtd.com/bbs/skins/default/topicface/face1.gif">        <B>lzh741206        这个我尝试了        但生效要在下次操作才行</B><BR>每次调用加载和卸载函数,不能马上生效,需等这次响应过程处理完到下次操作才可以,好象没有什么好办法,设想是不是采用两个响应事件过程来解决这个问题,第一个用来卸掉系统双击响应,第二个添加自己的响应,在第一个事件处理结束再触发第二个。不知道VBA中可否定义自己的事件和主动触发事件的功能? </TD></TR></TBODY></TABLE>

雪山飞狐_lzh 发表于 2004-6-11 11:19:00

不会呀,我在2005里调试的挺好的,在BeginDoubleClick事件里做一次应该没问题呀

sule365 发表于 2004-6-11 11:21:00

一直用的2002 看来我要用2005了

sule365 发表于 2004-6-11 11:22:00

是不是其他的原因 我再查查

雪山飞狐_lzh 发表于 2004-6-11 11:39:00

2002里好像是不行,其它图元的双击事件也要编,源码共享有一个例子,你可以看看
页: 1 [2]
查看完整版本: 请问能不能部分屏蔽AUTOCAD本身对事件响应的功能