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