XLSReadWriteII5 Color 颜色l的调用和使用

news/2024/7/21 6:28:50 标签: excel, delphi, windows

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;
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色彩值函数

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;


http://www.niftyadmin.cn/n/78994.html

相关文章

2023美国大学生数学建模竞赛A题详细公式和代码分享

目录 2023美赛A题翻译 1.1 建立一个数学模型,预测一个植物群落在各种不规则的天气周期中如何随时间变化。包括本该降水充足的干旱时期。该模型应考虑到干旱周期中不同物种之间的相互作用。 1.2就植物群落与大环境的长期相互作用,探讨你能从你的模型中…

【opencv源码解析0.3】调试opencv源码的两种方式

调试opencv源码的两种方式 上两篇我们分别讲了如何配置opencv环境,以及如何编译opencv源码方便我们阅读。但我们还是无法调试我们的代码,无法以我们的程序作为入口来一步一步单点调试看opencv是如何执行的。 【opencv源码解析0.1】VS如何优雅的配置ope…

将古老的ASP项目转换为PHP初探

ASP 是一种服务器端脚本语言&#xff0c;主要用于开发动态 Web 应用程序。ASP 可以在服务器上执行代码&#xff0c;并将结果返回给客户端浏览器&#xff0c;实现动态生成 Web 页面的功能。ASP 代码通常包含在 <% %> 标记中&#xff0c;以下是一个简单的 ASP 程序示例&…

springboot数据源浅析

DataSourceAutoConfiguration分析 SpringBoot有一个自动配置DataSourceAutoConfiguration 为数据源配置 /META-INF/spring.factories文件找到DataSourceAutoConfiguration配置类 一、先来看下DataSourceAutoConfiguration配置类生效的时机&#xff0c;观察源码发现 Configura…

2023河南省第二届职业技能大赛郑州市选拔赛“网络安全”项目比赛样题任务书

2023河南省第二届职业技能大赛郑州市选拔赛“网络安全” 项目比赛样题任务书 一、竞赛时间 共计360分钟。 竞赛任务书内容 2023河南省第二届职业技能大赛郑州市选拔赛“网络安全” 项目比赛样题任务书 A模块基础设施设置/安全加固&#xff08;200分&#xff09; A-1&…

springmvc java ssm药店库存进销存管理系统带前台

基于JSP技术、SSM框架、B/S机构、Mysql数据库设计并实现了龙康药店管理系统。系统主要包括药店简介管理、客户信息管理、药品信息管理、入库信息管理、出库信息管理、进货单管理等功能模块。其特点一是方便学习&#xff0c;方便快捷&#xff1b;二是有非常大的信息储存量&#…

Cad二次开发小工具

小工具角度转弧度弧度转角度判断三点是否在同一条直线上获取向量与X轴正方向角度两点之前的距离获取两点的中心点将图形对象添加到图形文件中1将图形对象添加到图形文件中2两点绘制直线起点、长度、角度绘制直线圆心、半径、起始角度绘制圆弧起始点、中点绘制圆弧通过圆心、起点…

将Nginx 核心知识点扒了个底朝天(四)

为什么 Nginx 不使用多线程&#xff1f; Apache: 创建多个进程或线程&#xff0c;而每个进程或线程都会为其分配 cpu 和内存&#xff08;线程要比进程小的多&#xff0c;所以 worker 支持比 perfork 高的并发&#xff09;&#xff0c;并发过大会榨干服务器资源。 Nginx: 采用…