Delphi图形编程技巧二则

Author: 杨波 Date: 1999年 第5期 13版

#1    一、界面色彩渐变效果的实现
    界面色彩渐变效果是通过用渐变的画刷刷绘依次相邻的矩形块实现的。下面列举实例说明:
    1.新建一个表单,假设其Width为500,设置一个按钮Button1,按此按钮将把表单置为由左向右由黄变白的渐变效果。
    2.Button1按钮的代码如下:
    procedure TForm1.Button1Click(Sender: TObject);
    var i,j:Integer;
    Dct:TRect;
    begin
    j:=Form1.height; 
    //获得表单高度
    for i:=0 to 255 do 
    //此处设置RGB()中一个颜色值
    begin
    Canvas.Brush.Color:=RGB(255,255,i);
    //每次画矩形的画刷颜色
    Dct:=Rect(i*2,0,(i+1)*2,j);
    //每次刷绘的矩形区域
    Canvas.FillRect(Dct);
    //填充颜色
    end;
    end;
#1    二、图形整体拉出效果
    单纯的图形整体拉出效果比较简单,动态地改变图形区域的大小就可以实现,但事先应将图形的“Stretch”设置为“True”。
    举例说明下拉效果:
    1.在表单上放置一图片,高度为200,属性“Height”设为0,“Stretch”设置为True。添加“Timer”构件,“Interval”设为200,“Enable”设为Ture。
    2.在Timer1Timer中添加代码:
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    Image1.Height:=Image1.Height+20;
    //设置增量
    if image1.Height=200 then Timer1.Enabled:=FALSE;
    //图形整体拉出完毕
    end;
    以上两例在Windows95,Delphi3.0环境下运行通过。