网站建设 seo优化肇庆seo按天收费
XLSReadWriteII5 Color 颜色l的调用和使用
一、色彩三原色
自然界,颜色是由红、绿、蓝三色组成,人眼的可见的颜色,可以通过红、绿、蓝三色按照不同的比例合成产生。
任意一种颜色由这三种原色按照一定的比例混合出来。
二、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;
beginResult := B Shl 16 or G shl 8 or R;
end;
(2)Tcolor转换为RGB
Program ColorToRGB(Color: TColor;Var R,G,B: byte);
beginR := 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色彩值函数
function BGRToColor(R,G,B: byte): Tcolor;
beginResult := 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;
beginResult := R Shl 16 or G shl 8 or B;
end;beginFont1:=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 DBGridEhFileName, //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;