明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3517|回复: 7

[讨论]VBA颜色问题

[复制链接]
发表于 2005-3-1 09:36:00 | 显示全部楼层 |阅读模式
在VBA中,有下列几种颜色表示:1、真色彩RGB。2、十六进数&HFF00FF。3、颜色号0---255。
这几种表示之间是如何转换的?
下列颜色有关的属性之间如何互相引用或转换:
backcolor、forecolor、truecolor、colorindex、entitycolor、color。
我用下列语句就不能通过,
Dim col As New AcadAcCmColor
col.ColorIndex = lblNewColor.BackColor
其中lblNewIColor为一个标签控件。
请各位指教。
发表于 2005-3-2 10:41:00 | 显示全部楼层
lblNewColor.BackColor
返回的是一个标签控件的索引数
 楼主| 发表于 2005-3-3 08:58:00 | 显示全部楼层
lblNewColor.BackColor返回的是一个两字节长的整数,如&H008800FF,如何把它所表示的颜色转换成AcadAcCmColor对象所表示的颜色,我试了很多方法都不行,哪位知道请帮帮我,谢了。
发表于 2005-3-3 09:10:00 | 显示全部楼层
object.EntityColor
 楼主| 发表于 2005-3-8 11:18:00 | 显示全部楼层
我用下列语句,可没有通过 Dim col As AcadAcCmColor
Set col = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
col.EntityColor = lblNewColor.BackColor 出现错误信息:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2005-3-9 18:19:00 | 显示全部楼层
高版本功能真多,我的 2002 还没有AcadAcCmColor呢。
发表于 2005-3-9 21:36:00 | 显示全部楼层
感觉AcadAcCmColor类没有什么实用价值:)


这段时间太忙,没办法深入研究:)
发表于 2010-1-24 02:36:00 | 显示全部楼层

根据我的初步研究:

color为AutoCAD2004版本以前的对象属性,2004及以后已废除,但现仍能使用;

colorindex为从 0 到 256 的颜色索引值,作用与color类似,其为2004及以后版本中的color;

truecolor为对象,其包容RGB、colorindex、entitycolor等属性;

entitycolor的低24位为RGB或colorindex,25-40位的值与低24位有关。

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 00:25 , Processed in 0.179411 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表