乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 33|回复: 2

在VBA中如何将LAYOUT中激活的视口中的图层(在当前视口中冻结)解冻,求大虾99

[复制链接]

6

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
38
发表于 2007-9-28 22:43:00 | 显示全部楼层 |阅读模式
我已经知道 将LAYOUT中激活的视口中的图层(在当前视口中冻结)冻结,但是解冻不知道要怎么样才行?
请大虾指点一下,谢谢
下面是冻结的代码:
Sub VpLayerOff(strLayer As String)
Dim objEntity As AcadObject
Dim ObjPViewport As AcadObject
Dim objPViewport2 As AcadObject
Dim XdataType As Variant
Dim XdataValue As Variant
Dim I As Integer
Dim Counter As Integer
Dim PT1 As Variant

Set ObjPViewport = ThisDrawing.ActivePViewport

ObjPViewport.GetXData "ACAD", XdataType, XdataValue
For I = LBound(XdataType) To UBound(XdataType)
   If XdataType(I) = 1003 Then
       Counter = I + 1
      If XdataValue(I) = strLayer Then Exit Sub
   End If
Next

If Counter = 0 Then
   For I = LBound(XdataType) To UBound(XdataType)
       If XdataType(I) = 1002 Then Counter = I - 1
    Next
End If

XdataType(Counter) = 1003
XdataValue(Counter) = strLayer
ReDim Preserve XdataType(Counter + 1)
ReDim Preserve XdataValue(Counter + 1)
XdataType(Counter + 1) = 1002
XdataValue(Counter + 1) = "}"

ReDim Preserve XdataType(Counter + 2)
ReDim Preserve XdataValue(Counter + 2)

XdataType(Counter + 2) = 1002
XdataValue(Counter + 2) = "}"
ObjPViewport.SetXData XdataType, XdataValue
End Sub
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2007-9-29 20:54:00 | 显示全部楼层
回复

使用道具 举报

6

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
38
发表于 2007-9-29 21:30:00 | 显示全部楼层
实在是太感谢上面的大虾了
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 10:09 , Processed in 0.304377 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表