乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 89|回复: 3

关于颜色的问题

[复制链接]

25

主题

61

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
161
发表于 2003-5-13 08:17:00 | 显示全部楼层 |阅读模式
在VBA中,我只会用那几种常见的8种颜色,请问有什么方法表示其它的颜色
回复

使用道具 举报

14

主题

230

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
286
发表于 2003-5-13 08:53:00 | 显示全部楼层
在ACAD 2000/2002 VBA中,Color值可以指定0到256之间的任何整数,每个数字代表的颜色你可以启动ACAD,并使用更改颜色看到。常见的8种颜色用acRed等常数定义了,其它颜色没有这样的预定义,所以你只能使用0-255的颜色索引号(INDEX)。
在ACAD 2004 VBA中,颜色管理通过AcCmColor对象实现,设置该对象,可以使用16bit真彩。
回复

使用道具 举报

25

主题

61

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
161
发表于 2003-5-13 09:32:00 | 显示全部楼层
给一个例子吧
回复

使用道具 举报

14

主题

230

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
286
发表于 2003-5-14 08:41:00 | 显示全部楼层

以下代码请注意适用的ACAD版本。
Sub Samp_color_2004()
  Dim objLine As AcadLine
  Dim Stpt(0 To 2) As Double
  Dim Edpt(0 To 2) As Double
  Dim str As String
  Stpt(0) = 100: Stpt(1) = 10: Stpt(2) = 0
  Edpt(0) = 150: Edpt(1) = 100: Edpt(2) = 0
  Set objLine = ThisDrawing.ModelSpace.AddLine(Stpt, Edpt)
  ZoomAll
  Dim color As AcadAcCmColor
  Set color = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
  For i = 0 To 10
  Call color.SetRGB(i * 100 Mod 255, ((i + 20) * 100) Mod 255, 255 - i * 20)
  objLine.TrueColor = color
  objLine.Update
  str = ThisDrawing.Utility.GetString(False, "按任意键继续...")
  Next i
End Sub
Sub Samp_color_2002()
  Dim objLine As AcadLine
  Dim Stpt(0 To 2) As Double
  Dim Edpt(0 To 2) As Double
  Dim str As String
  Stpt(0) = 100: Stpt(1) = 10: Stpt(2) = 0
  Edpt(0) = 150: Edpt(1) = 100: Edpt(2) = 0
  Set objLine = ThisDrawing.ModelSpace.AddLine(Stpt, Edpt)
  ZoomAll
  For i = 1 To 25
  objLine.color = i * 10 - 9
  objLine.Update
  str = ThisDrawing.Utility.GetString(False, "按任意键继续...")
  Next i
End Sub
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-28 23:24 , Processed in 0.341223 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表