winabcd 发表于 2005-3-1 09:36:00

[讨论]VBA颜色问题

<FONT face=宋体 size=2>在VBA中,有下列几种颜色表示:1、真色彩RGB。2、十六进数&amp;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>

torch 发表于 2005-3-2 10:41:00

<FONT size=2>lblNewColor.BackColor</FONT><BR>返回的是一个标签控件的索引数

winabcd 发表于 2005-3-3 08:58:00

lblNewColor.BackColor返回的是一个两字节长的整数,如&amp;H008800FF,如何把它所表示的颜色转换成<FONT size=2>AcadAcCmColor对象所表示的颜色,我试了很多方法都不行,哪位知道请帮帮我,谢了。</FONT>

雪山飞狐_lzh 发表于 2005-3-3 09:10:00

object.EntityColor

winabcd 发表于 2005-3-8 11:18:00

我用下列语句,可没有通过


Dim col As AcadAcCmColor<BR>               Set col = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")<BR>               col.EntityColor = lblNewColor.BackColor


出现错误信息:


       

my_computer 发表于 2005-3-9 18:19:00

高版本功能真多,我的 2002 还没有AcadAcCmColor呢。

雪山飞狐_lzh 发表于 2005-3-9 21:36:00

感觉AcadAcCmColor类没有什么实用价值:)


这段时间太忙,没办法深入研究:)

tengte 发表于 2010-1-24 02:36:00

<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]
查看完整版本: [讨论]VBA颜色问题