在窗体上放置一个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的作用是很多的,象一些图片演示技巧,如积木效果、推拉效果、百叶窗效果等
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的作用是很多的,象一些图片演示技巧,如积木效果、推拉效果、百叶窗效果等
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货