RGB()可以返回一个颜色值,为什么还要TColor这个类?
我在一例子中看到:
    ...
    Pen.Color:=TColor(RGB(Random(255),Random(255),Random(255));
    ...
但我试过,将TColor去掉,直接使用RGB()的返回值,一样不会出错,这样做有什么用呢?还请高手指点!谢谢!

解决方案 »

  1.   

    二者都是整数值,所以不会出错
    将TColor去掉会得到不同颜色
    红、绿、蓝 组合成 R、 G 、B  
      

  2.   

    to lxhong1980
        您所讲"将TColor去掉会得到不同颜色",这句话是什么意思呢?
        难道不去掉TColor就不会得到不同的颜色吗?
      

  3.   

    TColor中还包含了调色板的信息,最高的两位,而RGB创建的颜色默认使用与当前系统最相近的调色板。
      

  4.   

    那是不是说用RGB()取得颜色就可以了,不用TColor也行?
      

  5.   

    RGB表示颜色由3个字节,Tcolor有四字节只是在RGB前面加上了一个字节表示取色的方法!
     $00:表示用系统调色板最相近的颜色匹配。
     $01:表示用当前调色板最相近的颜色匹配。
     $02:表示用当前设备中逻辑调色板的次相近的颜色匹配。