CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2022 开发者帮助

SetGridColor 方法 (ActiveX)

2024-5-18 18:44| 发布者: admin| 查看: 75| 评论: 0|原作者: admin|来自: AutoCAD

SetGridColor 方法 (ActiveX)

设置指定网格线型和行类型的网格颜色值。

支持的平台:仅限 Windows

签名

VBA:

object.SetGridColor gridLineTypes, rowTypes, pColor
对象

类型:TableTableStyle

此方法应用到的对象。

gridLineTypes

访问:仅输入

类型:枚举AcGridLineType

要更改的网格线类型。

  • acHorzBottom
  • acHorzInside
  • acHorzTop
  • acInvalidGridLine
  • acVertInside
  • acVertLeft
  • acVertRight
行类型

访问:仅输入

类型:枚举AcRowType

要更改的行类型。

  • acDataRow
  • acHeaderRow
  • acTitleRow
  • acUnknownRow
pColor 颜色

访问:仅输入

类型:AcCmColor

要指定给网格线的 AutoCAD 真彩色对象。

返回值 (RetVal)

无返回值。

言论

没有其他评论。

例子

VBA:

Sub Example_SetGridColor()
    ' 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")
  
    ' Create the custom TableStyle object in the dictionary
    Dim keyName As String
    Dim className As String
    Dim customObj As AcadTableStyle
    keyName = "NewStyle"
    className = "AcDbTableStyle"
    Set customObj = dictObj.AddObject(keyName, className)
      
    customObj.Name = "NewStyle"
    customObj.Description = "New Style for My Tables"
  
    customObj.FlowDirection = acTableBottomToTop
    customObj.HorzCellMargin = 0.22
    customObj.BitFlags = 1
    customObj.SetTextHeight AcRowType.acDataRow + AcRowType.acTitleRow, 1.3
    customObj.SetTextStyle AcRowType.acDataRow + AcRowType.acTitleRow, "Standard"
  
    Dim col As AcadAcCmColor
    Set col = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor." & Left(AcadApplication.Version, 2))
    col.SetRGB 12, 23, 45
    customObj.SetBackgroundColor AcRowType.acDataRow + AcRowType.acTitleRow, col
    customObj.SetGridVisibility AcGridLineType.acHorzInside + AcGridLineType.acHorzTop _
                                , AcRowType.acDataRow + AcRowType.acTitleRow, True
  
    customObj.SetAlignment AcRowType.acDataRow + AcRowType.acTitleRow, acBottomRight
    col.SetRGB 244, 0, 0
    customObj.SetGridColor 3, 1, col
      
    MsgBox "Table Style Name = " & customObj.Name & vbCrLf & _
           "Style Description = " & customObj.Description & vbCrLf & _
           "Flow Direction = " & customObj.FlowDirection & vbCrLf & _
           "Horzontal Cell Margin = " & customObj.HorzCellMargin & vbCrLf & _
           "Bit Flags = " & customObj.BitFlags & vbCrLf & _
           "Title Row Text Height = " & customObj.GetTextHeight(acTitleRow) & vbCrLf & _
           "Title Row Text Style = " & customObj.GetTextStyle(acTitleRow) & vbCrLf & _
           "Grid Visibility for HorizontalBottom TitleRow  = " & customObj.GetGridVisibility(acHorzBottom, acTitleRow) & vbCrLf & _
           "Title Row Alignment = " & customObj.GetAlignment(acTitleRow) & vbCrLf & _
           "Header Suppression = " & customObj.HeaderSuppressed
    
End Sub

可视化 LISP:

(vl-load-com)
(defun c:Example_SetGridColor()
    ;; 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)
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-12-15 11:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部