Split 方法 (ActiveX)
将视口拆分为给定的视图数。 支持的平台:仅限 Windows 签名VBA: object.Split NumWins
返回值 (RetVal)无返回值。 言论尽管已调用该方法,但在使用该属性使视区处于活动状态之前,不会显示更改。即使视口在调用 之前处于活动状态,这也是必需的。SplitActiveViewportSplit 视口不必处于活动状态即可使此方法正常工作,但是,必须将其重置为活动状态才能查看此方法的结果。 例子VBA: Sub Example_Split() ' This example creates a new viewport and makes it active. ' Then it splits the viewport into four windows. ' It then takes one of the four windows, and splits that ' window horizontally in half. Dim newViewport As AcadViewport ' Create a new viewport and make it active Set newViewport = ThisDrawing.Viewports.Add("TESTVIEWPORT") ThisDrawing.ActiveViewport = newViewport ' Split the viewport in four windows newViewport.Split acViewport4 ' Make the newly split viewport active ThisDrawing.ActiveViewport = newViewport ' Note that current drawing layout will show four windows. ' However, only one of the windows will be active. ' The following code sets the lower-left corner window ' to be the active window and then splits that ' window into two horizontal windows. Dim entry For Each entry In ThisDrawing.Viewports If entry.name = "TESTVIEWPORT" Then Dim lowerLeft lowerLeft = entry.LowerLeftCorner If lowerLeft(0) = 0 And lowerLeft(1) = 0 Then Set newViewport = entry Exit For End If End If Next newViewport.Split acViewport2Horizontal ThisDrawing.ActiveViewport = newViewport End Sub 可视化 LISP: (vl-load-com) (defun c:Example_Split() ;; This example creates a new viewport and makes it active. ;; Then it splits the viewport into four windows. ;; It then takes one of the four windows, and splits that ;; window horizontally in half. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Create a new viewport and make it active (setq newViewport (vla-Add (vla-get-Viewports doc) "TESTVIEWPORT")) (vla-put-ActiveViewport doc newViewport) ;; Split the viewport in four windows (vla-Split newViewport acViewport4) ;; Make the newly split viewport active (vla-put-ActiveViewport doc newViewport) ;; Note that current drawing layout will show four windows. ;; However, only one of the windows will be active. ;; The following code sets the lower-left corner window ;; to be the active window and then splits that ;; window into two horizontal windows. (vlax-for entry (vla-get-Viewports doc) (if (= (vla-get-Name entry) "TESTVIEWPORT") (progn (setq lowerLeft (vlax-variant-value (vla-get-LowerLeftCorner entry))) (if (and (= (vlax-safearray-get-element lowerLeft 0) 0) (= (vlax-safearray-get-element lowerLeft 1) 0)) (setq newViewport entry) ) ) ) ) (vla-Split newViewport acViewport2Horizontal) (vla-put-ActiveViewport doc newViewport) ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-19 07:23
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.