在窗体上放置一个LABEL控件,设置它的CAPTION作为卡拉OK演示程序的字幕,并设置它的字体,颜色为白色。代码如下:unit ok;interfaceuses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, 
 Forms, Dialogs,ExtCtrls, StdCtrls;type
 TForm1 = class(TForm)
  Label1: TLabel;
  procedure FormDblClick(Sender: TObject);
  procedure FormActivate(Sender: TObject);
 private
  { Private declarations }
 public
  { Public declarations }
 end;var
 Form1: TForm1;
 ins:tbitmap;
implementation{$R *.DFM}procedure TForm1.FormDblClick(Sender: TObject);
var
i,j:integer;
ret:trect;
begin
for i:=0 to clientwidth do
//clientwidth是窗体右边界
for j:=0 to clientheight do
//clientheight是窗体下边界
begin
ret.left:=i;
ret.top:=j;
ret.right:=i+1;
ret.bottom:=j+1;
//设置复制矩形的大小
canvas.copyrect(ret,ins.canvas,ret);
//把ins存放的画面复制到窗体上,形成卡拉OK效果
end;
ins.free;
end;procedure TForm1.FormActivate(Sender: TObject);
begin
label1.font.color:=clgreen;
//设置字幕覆盖的颜色,不要是白色就行
ins:=getformimage;
//getformimage是存放当前活动窗体的外观图象,返回一个Tbitmap类型指针,所
以在接口部分定义一个Tbitmap类的变量ins
label1.font.color:=clwhite;
//字幕颜色复原
end;end.
如果觉得演示速度太快,也可以对内循环进行调整,如for j:=0 to clientheight+1000 do。其实canvas.copyrect的作用是很多的,象一些图片演示技巧,如积木效果、推拉效果、百叶窗效果等