p;
form1.Canvas.font.color:=$1200ffff;
form1.Canvas.TextOut(Button1.left,
Button1.top-15,''OPENFILE'');
end;
procedure TForm1.Button2MouseMove
(Sender:TObject;Shift:TShiftState;X,Y:Integer);
begin
form1.repaint;
form1.Canvas.font.size:=8;
form1.Canvas.brush.color:=clRed;
form1.Canvas.font.color:=$1200ffff;
form1.Canvas.TextOut(Button2.left,Button2.top-
15,''EXIT'');
end;
procedure TForm1.FormMouseMove
(Sender:TObject;Shift:TShiftState;X,
Y:Integer);
begin
form1.repaint;
form1.Canvas.font.size:=12;
form1.Canvas.brush.color:=clBlue;
form1.Canvas.font.color:=$00ffffff;
form1.Canvas.TextOut(0,form1.height-50,''OK'');
end;
4.仿电视移动字幕或图像,用此方法制作移动字幕的基本方法是:
首先选定一个可作为画布的控件,比如FORM或IMAGE,然后用一种
填充颜色填满整个画布,在画布的固定位置显示一个特殊前景色
固定尺寸的字符串,在TIMER控件中定时连续改变显示字符串的
位置,由于原来位置的字符串不能自动消失,所以需要用与填充颜
色相同颜色的线条覆盖多余部分,这样即可实现平滑的字幕移动
效果;实现图像移动的方法:可事先定义Bitmap类和Rect类变量,
在
程序运行阶段建立Bitmap和Rect对象,并在Bitmap中装入指
定的图像文件,同时把对象Bitmap装入Rect对象中实现图像的
显示,然后在Timer控件中定时连续改变Rect的坐标值,并用与
填充颜色相同的线条覆盖遗留图像部分,即可以实现图像的平稳
移动;采用上述方法实现的字符串或图像移动操作,其效果平稳,
无任何闪烁或抖动现象,视觉效果极佳,并且不需要事先建立控
件,完全由
程序代码实现,具有相当多的优点;编程举例:在窗
体中安放时间控件TIMER1、图像框IMAGE1,定义TRECT及TBITMAP
型变量,并在FormCreate和Timer1Timer事件中安排如下代码,
程序运行之后即会在图像框中出现至下而上的移动字幕及图像效
果,并从顶部消失,之后重新从底部出现;
var{定义变量}
Form1:TForm1;
x,tt,l,h:integer;
pic:Trect;
map:Tbitmap;
{具体动画演示代码}
procedure TForm1.Timer1Timer(Sender:TObject); &nbs