桌面精灵[精品]
课程设计任务书
信息科学与
学院 专业 电子信息工程 学院
学生姓名 学号 080303010
设计
目 桌面小精灵游戏程序设计
内容及
:以面向对象编程技术设计windows应用程序,主要
功能:
程序运行后,有一个小动物出现在窗口的左下方,并
逐渐向右移动,不论该窗口是否为当前活动窗口,这
个小动物都会出现在桌面上,单击右键,会出现弹出
菜单,在其中可以选择精灵图像
进度安排:第一阶段:16学时。设计阶段。学生根据所选题目,查找有关资料,
综合所学的理论知识,完成整体设计及具体设计。
第二阶段:12学时。调试测试阶段。上机调试测试,要求学生务必
认真,思想高度集中,调试成功后,整理、编写设计资
料及实验报告。
第三阶段:4学时。验收答辩。
指导教师(签字): 分院院长(签字):
年 月 日 年 月 日
摘要
本次面向对象课程设计的任务是桌面小精灵游戏程序的设计。程序运行后,有一个小动物出现在窗口的左下方,并逐渐向右移动,不论该窗口是否为当前活动窗口,这个小动物都会出现在桌面上,单击右键,会出现弹出菜单,在其中可以选择精灵图像。
在开发工具Delphi 7的环境中开始设计程序。首先,本程序先要隐藏标题栏,制作透明窗体,接下来设置Form1的窗体的FormStyle属性为StayOnTop,这样,桌面精灵的准备工作就做好了。然后设计Timer控件的OnTimer事件控制窗体移动,设计一个PopupMenu控件,以实现弹出菜单功能,最后就是选择一些好的图片或者动画以增强视觉效果。
当程序运行后,有一个小动物出现在窗口的左下方,并逐渐向右移动,不论该窗口是否为当前活动窗口,这个小动物都出现在桌面上,单击右键,会出现弹出菜单,在其中可以选择精灵图像。
关键词:
Delphi 7 单击右键 弹出菜单 桌面小精灵
目录 一、设计目的……………………………………………………1
二、关键技术………………………………………..…………1
三、程序流程………………………………………..………….1
四、主要源代码……………………………………..…………2
五、运行结果及结论…………………………….……………5
六、参考文献……………………………….………………7
一、设计目的:
1(进一步学习和掌握面向对象程序设计的方法,以及它的用途。
2(培养同学的编程能力。同时进一步学习delphi7的使用方法,
更深一步了解delphi7软件。
3(充分认识理论知识对应用技术的指导性作用,进一步加强理
解知识与应用相结合的实践和锻炼。 4(通过这次设计实践能够进一步加深对专业知识和理论知识学
习的认识和理解,使自己的设计水平和对所学的知识的应用
能力以及分析问题解决问题的能力得到全面提高。
5. 巩固和加深学生对面向对象知识的理解,提高他们综合运用
本课程所学知识能力。
二、关键技术:
面向对象的设计方法,delphi7的使用方法,调试方法。
三、程序流程:
1. 启动Delphi 5.0,打开一个新的标准工程。如果Delphi已经运行,那
么请在“文件”菜单中单击“新建工程”菜单项,打开一个新的标
准工程。在新建的界面上加入一个Image控件、一个Timer控件和一
个PopupMenu控件。
2. 设置Form1的关键属性如下:
Left=315 Top=271 BorderStyle=bsSingle
Caption=’Form1’
ClientHeight=129 ClientWidth=131 Color=clBtnFace
DefaultMonitor=dmDesktop FormStyle=fsStayOnTop
OldCreateOrder=False OnCreate=FormCreate
PixelsPerInch=96 TextHeight=13
3. 设置Image控件的关键属性如下:
Left=0 Top=0 Width=131 Height=129
Align=alClient
4. 设置Timer控件的关键属性如下:
Interval=1 OnTimer=Timer1Timer Left=8 Top=16
5. 设置PopupMenu控件的菜单项如下图所示
6. 将源代码输入Delphi7.0进行调试。
7. 分析结果并进行讨论。
四、主要源代码
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
jpeg, ExtCtrls, Menus;
type
TForm1 = class(TForm)
Timer1: TTimer;
Image1: TImage;
PopupMenu1: TPopupMenu;
exit1: TMenuItem;
choose: TMenuItem;
horsemenu: TMenuItem;
monkeymenu: TMenuItem;
snakemenu: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure exit1Click(Sender: TObject);
procedure horsemenuClick(Sender: TObject);
procedure monkeymenuClick(Sender: TObject);
procedure snakemenuClick(Sender: TObject);
private
{ Private declarations }
public
PROCEDURE CMEraseBkgnd(var Message:TWMEraseBkgnd);
Message WM_ERASEBKGND;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
PROCEDURE Tform1.CMEraseBkgnd(var Message:TWMEraseBkgnd);
BEGIN
brush.style:=bsClear;
Inherited;
END;
procedure TForm1.FormCreate(Sender: TObject); Var
Save : LongInt;
Begin
If BorderStyle=bsNone then Exit;
Save:=GetWindowLong(Handle,gwl_Style);
If (Save and ws_Caption)=ws_Caption then Begin
Case BorderStyle of
bsSingle,
bsSizeable : SetWindowLong(Handle,gwl_Style,Save and
(Not(ws_Caption)) or ws_border);
bsDialog : SetWindowLong(Handle,gwl_Style,Save and
(Not(ws_Caption)) or ds_modalframe or ws_dlgframe);
End;
Height:=Height-getSystemMetrics(sm_cyCaption);
Refresh;
End;
brush.style:=bsClear;
Inherited;
end;
procedure TForm1.Timer1Timer(Sender: TObject); begin
if form1.Left>=screen.Width then
form1.Left:=0
else
form1.Left:=form1.Left+1;
end;
procedure TForm1.exit1Click(Sender: TObject); begin
close;
end;
procedure TForm1.horsemenuClick(Sender: TObject); begin
image1.Picture.Bitmap.LoadFromFile('horse.bmp'); end;
procedure TForm1.monkeymenuClick(Sender: TObject); begin
image1.Picture.Bitmap.LoadFromFile('monkey.bmp'); end;
procedure TForm1.snakemenuClick(Sender: TObject); begin
image1.Picture.Bitmap.LoadFromFile('snake.bmp'); end;
end.
五、运行结果及结论
1. 运行结果:
图1
图2
图3
2.结论:
有一个小动物出现在窗口的左下方,并逐渐向右移动,
不论该窗口是否为当前活动窗体,这个小动物都出现在桌面
上,单击右键,会出现弹出菜单,在其中可以选择精灵图像,
当选择小蛇时,出现图1的图像,当选择小猴时,出现图2
的图像,当选择小马时,出现图3的图像。
六、参考文献
[1] 李爱华,程磊编著. 面向对象程序设计(C++语言). 北京:
清华大学出版社,2009
[2] Bjarne Stroustrup. C++程序设计语言. 特别版. 裘宗燕译.
北京:机械工业出版社,2002
[3] 钱能. C++程序设计教程 .第二版. 北京:清华大学出版社,
2005
[4] Bruce Eckel. C++编程思想. 第1卷:标准C++导引. 刘宗
田. 袁兆山,潘秋菱等译. 北京:机械工业出版社,2002
[5] 谭浩强. C++面向对象程序设计. 北京:清华大学出版社,
2006
[6] 陈志泊. 面向对象的程序设计语言——C++.第二版. 北
京:人民邮电出版社
[7] 朱立华,朱建,俞琼. 面向对象程序设计及C++. 北京:
人民邮电出版社,2008
[8] 钱丽萍,郝莹,汪立东. 面向对象程序设计C++版. 北京:
机械工业出版社,2007
[9] 孙雄勇. Visual C++ 6.0 实用教程. 北京:中国铁道出版社,
2004