draw 发表于 2003-8-31 16:18:00

如何在VB中开关非当前层?

如何在VB中开关非当前层?

draw 发表于 2003-8-31 18:09:00

为什么许多材料上介绍这个方法时,都是先建立一个新图层,再将其设成为当前层,然后再关闭或打开?

mccad 发表于 2003-8-31 21:23:00

使用图层的LayerOn 属性

TRUE: 为打开图层
FALSE: 为关闭图层

draw 发表于 2003-8-31 22:49:00

我的问题是假设当前层是0层,而是要开关1,2,3......层。1,2,3.....层均已建立。

draw 发表于 2003-8-31 22:52:00

请举一个例子!

mccad 发表于 2003-8-31 23:02:00

Sub SetLayerOff()
    Dim LayerName As String
    LayerName = "1"
    On Error Resume Next
    Err.Number = 0
    Dim MyLayer As AcadLayer
    Set MyLayer = ThisDrawing.Layers(LayerName)
    If Err.Number = 0 Then
      ThisDrawing.Layers(LayerName).LayerOn = False
      ThisDrawing.Utility.Prompt vbCrLf & " 图层“" & LayerName & "”已经被关闭。"
    Else
      ThisDrawing.Utility.Prompt vbCrLf & " 图层“" & LayerName & "”不存在。"
    End If
End Sub

draw 发表于 2003-9-1 23:01:00

Ok! 其实我是这么做得:
Dim entobj As AcadLayer
Set entobj = ThisDrawing.Layers.Item("1")
entobj.LayerOn = False

mccad 发表于 2003-9-2 07:03:00

写程序不是这么简单。
首先你要考虑如果该图层不存在的情况,如果图层不存在,则你写的那几句就会出错。

thankyou 发表于 2003-9-2 08:59:00

mccad发表于2003-9-2 7:03:00static/image/common/back.gif写程序不是这么简单。
首先你要考虑如果该图层不存在的情况,如果图层不存在,则你写的那几句就会出错。


说的不错。写程序一定要考虑其完整性。

EPISODE 发表于 2003-9-2 21:11:00

mccad!
页: [1]
查看完整版本: 如何在VB中开关非当前层?