SetGridVisibility Method (ActiveX)

Sets the grid visibility value for the specified grid linetype and row types.

Supported platforms: Windows only

Signature

VBA:

object.SetGridVisibility gridLineTypes, rowTypes, bValue
object

Type: Table, TableStyle

The objects this method applies to.

gridLineTypes

Access: Input-only

Type: AcGridLineType enum

The grid linetypes to change.

  • acHorzBottom
  • acHorzInside
  • acHorzTop
  • acInvalidGridLine
  • acVertInside
  • acVertLeft
  • acVertRight
rowTypes

Access: Input-only

Type: AcRowType enum

The row types to change.

  • acDataRow
  • acHeaderRow
  • acTitleRow
  • acUnknownRow
bValue

Access: Input-only

Type: Boolean

  • True: The grid is visible for the specified row type.
  • False: The grid is not visible for the specified row type.

Return Value (RetVal)

No return value.

Remarks

No additional remarks.

Examples

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

Visual 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)
)