CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

关于使另一个平铺视口成为当前视口 (VBA/ActiveX)

2023-1-5 02:35| 发布者: admin| 查看: 846| 评论: 0|来自: AutoCAD

摘要: 在当前视口中输入点并选择对象。若要使视区成为当前视区,请使用 ActiveViewport 属性。

在当前视口中输入点并选择对象。若要使视区成为当前视区,请使用该属性。ActiveViewport

您可以循环访问现有视区以查找特定视区。为此,首先使用属性标识所需视区所在的视口配置的名称。此外,如果视口配置已被拆分,则可以通过 andProperties 标识配置上的每个单独视口。NameLowerLeftCornerUpperRightCorner

属性表示视区在显示器上的图形位置。这些属性定义如下(以四向拆分为例):LowerLeftCornerUpperRightCorner



在此示例中:

  • 视口 1:= (0, .5),= (.5, 1)LowerLeftCornerUpperRightCorner
  • 视口 2:= (.5, .5),= (1, 1)LowerLeftCornerUpperRightCorner
  • 视口 3:= (0, 0),= (.5, .5)LowerLeftCornerUpperRightCorner
  • 视口 4:= (.5, 0),= (1, .5)LowerLeftCornerUpperRightCorner

拆分视口,然后循环访问窗口

此示例将视区拆分为四个窗口。然后,它循环访问图形中的所有视口,并显示视口名称以及每个视口的左下角和右上角。

Sub Ch3_IteratingViewportWindows()
  ' Create a new viewport and make it active
  Dim vportObj As AcadViewport
  Set vportObj = ThisDrawing.Viewports.Add("TEST_VIEWPORT")
  ThisDrawing.ActiveViewport = vportObj

  ' Split vport into 4 windows
  vportObj.Split acViewport4

  ' Iterate through the viewports,
  ' highlighting each viewport and displaying
  ' the upper right and lower left corners
  ' for each.
  Dim vport As AcadViewport
  Dim LLCorner As Variant
  Dim URCorner As Variant
  For Each vport In ThisDrawing.Viewports
    ThisDrawing.ActiveViewport = vport
    LLCorner = vport.LowerLeftCorner
    URCorner = vport.UpperRightCorner
    MsgBox "Viewport: " & vport.Name & " is now active." & _
    vbCrLf & "Lower left corner: " & _
    LLCorner(0) & ", " & LLCorner(1) & vbCrLf & _
    "Upper right corner: " & _
    URCorner(0) & ", " & URCorner(1)
  Next vport
End Sub

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-11 21:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部