[讨论]VBA颜色问题
在VBA中,有下列几种颜色表示:1、真色彩RGB。2、十六进数&HFF00FF。3、颜色号0---255。这几种表示之间是如何转换的?
下列颜色有关的属性之间如何互相引用或转换:
backcolor、forecolor、truecolor、colorindex、entitycolor、color。
我用下列语句就不能通过,
Dim col As New AcadAcCmColor
col.ColorIndex = lblNewColor.BackColor
其中lblNewIColor为一个标签控件。
请各位指教。 lblNewColor.BackColor
返回的是一个标签控件的索引数 lblNewColor.BackColor返回的是一个两字节长的整数,如&H008800FF,如何把它所表示的颜色转换成AcadAcCmColor对象所表示的颜色,我试了很多方法都不行,哪位知道请帮帮我,谢了。 object.EntityColor 我用下列语句,可没有通过
Dim col As AcadAcCmColor
Set col = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
col.EntityColor = lblNewColor.BackColor
出现错误信息:
高版本功能真多,我的 2002 还没有AcadAcCmColor呢。 感觉AcadAcCmColor类没有什么实用价值:)
这段时间太忙,没办法深入研究:) 根据我的初步研究:
color为AutoCAD2004版本以前的对象属性,2004及以后已废除,但现仍能使用;
colorindex为从 0 到 256 的颜色索引值,作用与color类似,其为2004及以后版本中的color;
truecolor为对象,其包容RGB、colorindex、entitycolor等属性;
entitycolor的低24位为RGB或colorindex,25-40位的值与低24位有关。
页:
[1]