说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用DELPHI 做一个简单的屏幕保护程序

HTML文档下载 WORD文档下载 PDF文档下载
用DELPHI 做一个简单的屏幕保护程序

利用DELPHI强大的功能,再加上你的精彩设想可以很容易作出一个屏幕保护程序。下面就教你

一、 首先创建一个窗体,在窗体中加入一个timer控件和一个label控件,各控件名称和重要属性设置如下。

窗体

名称:Form1

属性:borderstyxe :bsnone ; color : clblack ;windowstate: wsmaximized;

标签

名称: label1;

属性: caption;这是一个屏幕保护程序;

Autosize:True ;

时钟

名称: Timer1;

属性: interval :100;

二、为了使该程序在每台计算上都以同样大小显示,需要设置屏幕运行时的尺寸。

在Form1的Form1create事件中加入以下代码。

procedure TForm1.formCreate(Sendet:Tobject);

behin

if EnumDisplaySettings(nil

0

lpDevMode) then

begin

lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;

lpDevMode.dmPelsWidth :=640; //

lpDevMode.dmPelsHeight := 480;

ChangeDisplaySettings(lpDevMode

0);

end

end;

其中lpDevMode是TDeviceMode类型的全局变量。

三 、当有击键和鼠标移动后退出程序的实现

在form1的FormKeyDomng事件中加入

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

begin

Form1.Close;

end;

在Form1的FormMousrMove事件中加入以下代码:

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X

Y: Integer);

begin

if(bz=0)then

begin

xx:=x;

yy:=y;

bz:=1;

end

else iF(x<>xx)or(y<>yy)then

form1.close;

end;

其中,xx

yy和bz是integer类型的全局变量。

四 实现label的来回移动。

在Timer1 的Timer1Timer事件中转入以下代码:

procedure TForm1.Timer1Timer(Sender: TObject);

begin

t:=t+1;

if t<=form1.width+label1.width then

begin

label1.left :=form1.width-t;

end

else

t:=0;

end ;

end;

其中t是integer类型的全局变量。

如果你还想为你的屏幕保护程序加上背景音乐首先把mmsystem单元添加到implementation单元部分的uses子句中,然后在Form1的formshow事件中加入playsound(‘C:\1.wav’

0

snd-async or snd-loop);

(1.wav是你将要播放的音乐文件,假定位于c:\ )运行你的程序,将会看到“这是一个屏幕保护程序”从右到左在屏幕上循环滚动,并伴有音乐。最后将编译好的.exe文件,改名为.scr文件,拷贝到计算机windows目录下,通过windows的屏幕属性选择运用该程序作为计算机的屏幕保护程序,到此整个屏幕保护程序制作设定完毕。

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘