zoukankan      html  css  js  c++  java
  • 绘制窗体渐变背景的函数[delphi]

    绘制窗体渐变背景的函数,三个参数分别代表起始颜色,终止颜色,绘制方向
    procedure TForm1.Draw(StartColor:TColor;EndColor:TColor;Direction:Integer);
    var
    i:Integer;
    Dct:TRect;
    c1,c2,c3:byte;
    begin
    if Direction=0 then
    begin
    for i:=0 to self.Width-1 do
    begin
    c1:=GetRValue(StartColor)+Trunc(i*(GetRValue(EndColor)-GetRValue(StartColor))/(self.Width-1));
    c2:=GetGValue(StartColor)+Trunc(i*(GetGValue(EndColor)-GetGValue(StartColor))/(self.Width-1));
    c3:=GetBValue(StartColor)+Trunc(i*(GetBValue(EndColor)-GetBValue(StartColor))/(self.Width-1));
    Canvas.Brush.Color:=RGB(c1,c2,c3);
    //每次画矩形的画刷颜色
    Dct:=Rect(i,0,i+1,self.Height);
    //每次刷绘的矩形区域
    Canvas.FillRect(Dct);
    //填充颜色
    end;
    end
    else
    begin
    for i:=0 to self.Height-1 do
    begin
    c1:=GetRValue(StartColor)+Trunc(i*(GetRValue(EndColor)-GetRValue(StartColor))/(self.Height-1));
    c2:=GetGValue(StartColor)+Trunc(i*(GetGValue(EndColor)-GetGValue(StartColor))/(self.Height-1));
    c3:=GetBValue(StartColor)+Trunc(i*(GetBValue(EndColor)-GetBValue(StartColor))/(self.Height-1));
    Canvas.Brush.Color:=RGB(c1,c2,c3);
    //每次画矩形的画刷颜色
    Dct:=Rect(0,i,self.Width,i+1);
    //每次刷绘的矩形区域
    Canvas.FillRect(Dct);
    //填充颜色
    end;
    end;
    end;

  • 相关阅读:
    ODBC连接数据库
    发送邮件
    动态控制某些字段可以修改
    动态调用SQL和存储过程
    写数据到TXT文档
    动态创建Form
    动态调用报表
    ICE学习笔记2:摸了这么些天,终于有点着道了
    如何使用 Symbol Retriever
    Win XP注册表之性能优化
  • 原文地址:https://www.cnblogs.com/blogpro/p/11446798.html
Copyright © 2011-2022 走看看