XLSReadWriteII5 Color 颜色的调用和使用

XLSReadWriteII5 Color 颜色的调用和使用

    一、色彩三原色
    自然界,颜色是由红、绿、蓝三色组成,人眼的可见的颜色,可以通过红、绿、蓝三色按照不同的比例合成产生。
    任意一种颜色由这三种原色按照一定的比例混合出来。

 

    二、Windows系统 TColor
    1、使用二进制字符串,显示TColor值
    使用三组16进制的字符(对应0-255值),组建色彩。   
Uses Graphics;
function StringToColor(const s:string):TColor;  // 将字符串转换成TColor值,如将'clBtnFace'转换成 $02FF8800
function ColorToString(Color: TColor): string;  // 将颜色值转换成字符串值

    2、通过RGB值,显示TColor值
    RGB中建立三个原色的亮度值:0-255,通过三个原色的(0-255)建立该色彩。

   (1)RGB转换为Tcolor

function RGBToColor(R,G,B: byte): Tcolor;
begin
  Result := B Shl 16 or G  shl 8 or R;
end;

   (2)Tcolor转换为RGB

Program ColorToRGB(Color: TColor;Var R,G,B: byte);
begin
  R := Color and $FF;
  G := (Color and $FF00) shr 8;
  B := (Color and $FF0000) shr 16;
end;

    三、XLSReadWriteII Color使用Cardnal值
    经过分析Cardnal值也是三原色组成与RGB的值有相似的规则:
    TColor的RGB的色彩排列值是RGB(红绿蓝),而Cardnal色彩的排列值是BGR(蓝绿红)。二者的色彩排列是反向的。

    四、建立XLSReadWriteII色彩值函数

    经试验XLSReadWriteII,FontColor可以使用TColor赋值带入。但使用时,一定要经过特殊的赋值。定段代码,定义带入的TColor值:

function BGRToColor(R,G,B: byte): Tcolor;
begin
  Result := R Shl 16 or G  shl 8 or B;
end;

    五、运用

procedure TOld_ON_Frm.sButton2Click(Sender: TObject);
var s1,S2,Date1,Title1,Title2,Title3,TailTag,FileName:string;
    ColWith : array[0..100] of integer;     // 列宽度
    RowHeight : array[0..7] of integer;     // 行标题高度
    i:Integer;
    Font1,Font2,Font3,Font4,Font5,Font6:TFont;

function BGRToColor(R,G,B: byte): Tcolor;
begin
  Result := R Shl 16 or G  shl 8 or B;
end;

begin
  Font1:=TFont.Create;
  Font2:=TFont.Create;
  Font3:=TFont.Create;
  Font4:=TFont.Create;
  Font5:=TFont.Create;
  Font6:=TFont.Create;

  Font1.Name:='宋体';
  Font1.Size:=12;
  Font1.Color:=BGRToColor(200,0,0);   //   Blue Green Red
  ......
  XLS_DBGridEh_EXCEL_Title3_Select_Ord(
                     Self,           //Sender          主窗体(父窗口)
                     DBGridEh1,      //DBGrid DBGridEh
                     FileName,       //FileName        生成文件名
                     Title1,         //Title           标题
                     Title2,         //Title           标题
                     Title3,         //Title           标题
                     TailTag,        //TailTag         尾标注
                     'C',            //Title_1_HorizAlignmen  标题1水平对齐        L、C、R
                     'C',            //Title_2_HorizAlignmen  标题2水平对齐
                     'C',            //Title_3_HorizAlignmen  标题3水平对齐
                     'L',            //TailTag_HorizAlignmen  尾标注水平对齐
                     Font1,
                     Font2,
                     Font3,
                     Font4,
                     Font5,
                     Font6,
                     0,              //Pagetype        页面样式(0纵向,1横向)
                     0,              //ShowZero        显示 0  (0不显示,1显示)
                     0,              //DoSum           底栏统计汇总(0不,1可)
                     '',             //NoSum           强制非汇总的列  格式:AAAA,BBBB,CCCC
                     '排序,统计,选择,入住类型,出院日期,分支,ID',     // NoCol     强制非显示的列  同上
                     100,            //percent         显示百分比
                     True,           //SelectEnd       选择有效
                     '选择',         //SelectField     选择字段名
                     ColWith,        //ColWith         列宽
                     RowHeight,      //RowHeight       行高(标题)
                     True,           //DuplicateTitle  重复打印标题
                     True            //Serialnumber    首列加入临时字段“序号”并加入序列号
                     );

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值