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

再论利用CAD事件禁止在某图层中写入图元

时间:2010-12-31 09:01:25 来源:未知

之前的方法见:http://www.cadzj.com/n/4666.html利用了两个事件,BeginCommand和EndCommand,代码多且也会出现很多问题,现在有个新的思路:禁止在某图层中写入图元,那只要在BeginCommand中判断:当前图层是否是某图层,如果是,就取消刚打的命令就OK了。在这里就用SendKeys函数来发送ESC到CAD来中断命令。见下面代码:

Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
Dim layer As AcadLayer
Set layer = ThisDrawing.Layers("TK")

If ThisDrawing.ActiveLayer Is layer Then
    SendKeys "{ESC}" & "{ESC}", True
End If

End Sub

比上次那个简单多啦。