SetGridVisibility 方法 (ActiveX)
设置指定网格线型和行类型的网格可见性值。 支持的平台:仅限 Windows 签名VBA: object.SetGridVisibility gridLineTypes, rowTypes, bValue
返回值 (RetVal)无返回值。 言论没有其他评论。 例子VBA: Sub Example_SetGridVisibility()
' This example creates a TableStyle object and sets values for
' the style name and other attributes.
Dim dictionaries As AcadDictionaries
Set dictionaries = ThisDrawing.Database.dictionaries
Dim dictObj As AcadDictionary
Set dictObj = dictionaries.Item("acad_tablestyle")
' Get the current TableStyle object
Dim tableStyle As AcadTableStyle
Set tableStyle = dictObj.Item(ThisDrawing.GetVariable("CTABLESTYLE"))
Dim colGridCurrent As AcadAcCmColor, lwGridCurrent As ACAD_LWEIGHT, visGridCurrent As Boolean
Set colGridCurrent = tableStyle.GetGridColor(acHorzBottom, acTitleRow)
lwGridCurrent = tableStyle.GetGridLineWeight(acHorzBottom, acTitleRow)
visGridCurrent = tableStyle.GetGridVisibility(acHorzTop, acTitleRow)
MsgBox "Grid settings " & vbLf & _
"nColor (Bottom) = " & colGridCurrent.ColorIndex & vbLf & _
"nLineweight (Bottom) = " & lwGridCurrent & vbLf & _
"Visibility (Top) = " & visGridCurrent
Dim col As AcadAcCmColor
Set col = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor." & Left(AcadApplication.Version, 2))
col.SetRGB 0, 0, 255
tableStyle.SetGridColor acHorzBottom, acTitleRow, col
tableStyle.SetGridLineWeight acHorzBottom, acTitleRow, acLnWt025
If visGridCurrent = False Then
tableStyle.SetGridVisibility acHorzTop, acTitleRow, True
Else
tableStyle.SetGridVisibility acHorzTop, acTitleRow, False
End If
Dim colGridNew As AcadAcCmColor, lwGridNew As ACAD_LWEIGHT, visGridNew As Boolean
Set colGridNew = tableStyle.GetGridColor(acHorzBottom, acTitleRow)
lwGridNew = tableStyle.GetGridLineWeight(acHorzBottom, acTitleRow)
visGridNew = tableStyle.GetGridVisibility(acHorzTop, acTitleRow)
MsgBox "Grid settings " & vbLf & _
"nColor (Bottom) = " & colGridNew.ColorIndex & vbLf & _
"nLineweight (Bottom) = " & lwGridNew & vbLf & _
"Visibility (Top) = " & visGridNew
tableStyle.SetGridColor acHorzBottom, acTitleRow, colGridCurrent
tableStyle.SetGridLineWeight acHorzBottom, acTitleRow, lwGridCurrent
tableStyle.SetGridVisibility acHorzTop, acTitleRow, visGridCurrent
MsgBox "Reset the table style back to its original values."
End Sub
可视化 LISP: (vl-load-com)
(defun c:Example_SetGridVisibility()
;; This example creates a TableStyle object and sets values for
;; the style name and other attributes.
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
(setq dictionaries (vla-get-Dictionaries doc))
(setq dictObj (vla-Item dictionaries "acad_tablestyle"))
;; Create the custom TableStyle object in the dictionary
(setq keyName "NewStyle"
className "AcDbTableStyle")
(setq customObj (vla-AddObject dictObj keyName className))
(vla-put-Name customObj "NewStyle")
(vla-put-Description customObj "New Style for My Tables")
(vla-put-FlowDirection customObj acTableBottomToTop)
(vla-put-HorzCellMargin customObj 0.22)
(vla-put-BitFlags customObj 1)
(vla-SetTextHeight customObj (+ acDataRow acTitleRow) 1.3)
(vla-SetTextStyle customObj (+ acDataRow acTitleRow) "Standard")
(setq col (vlax-create-object (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))))
(vla-SetRGB col 12 23 45)
(vla-SetBackgroundColor customObj (+ acDataRow acTitleRow) col)
(vla-SetBackgroundColorNone customObj acHeaderRow :vlax-false)
(vla-SetGridVisibility customObj (+ acHorzInside acHorzTop) (+ acDataRow acTitleRow) :vlax-true)
(vla-SetAlignment customObj (+ acDataRow acTitleRow) acBottomRight)
(vla-SetRGB col 244 0 0)
(vla-SetGridColor customObj (+ acHorzTop acHorzInside) acDataRow col)
(alert (strcat "Table Style Name = " (vla-get-Name customObj)
"\nStyle Description = " (vla-get-Description customObj)
"\nFlow Direction = " (itoa (vla-get-FlowDirection customObj))
"\nHorzontal Cell Margin = " (rtos (vla-get-HorzCellMargin customObj) 2)
"\nBit Flags = " (itoa (vla-get-BitFlags customObj))
"\nTitle Row Text Height = " (rtos (vla-GetTextHeight customObj acTitleRow) 2)
"\nTitle Row Text Style = " (vla-GetTextStyle customObj acTitleRow)
"\nGrid Visibility for HorizontalBottom TitleRow = " (if (= (vla-GetGridVisibility customObj acHorzBottom acTitleRow) :vlax-true) "True" "False")
"\nTitle Row Alignment = " (itoa (vla-GetAlignment customObj acTitleRow))
"\nHeader Suppression = " (if (= (vla-get-HeaderSuppressed customObj) :vlax-true) "True" "False")
)
)
(vlax-release-object col)
)
|
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-10-28 13:55
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.