📄 复活节彩蛋及实现.txt
字号:
Delphi3.0中复活节彩蛋及实现
启动Delphi 3.0,打开Help菜单,单击“About”,在对话框中按住ALT键不放,输入TEAM,就可以看到测试人员名单;按住ALT键不放,输入DEVELOPERS,就可以看到开发人员名单;按住ALT键不放,输入QUALITY,就可以看到QUALITY人员名单。
复活节彩蛋是目前许多软件都具有的,你也可以在自己开发的软件中加入它。本文给出一个例子供参考,本文设计的复活节彩蛋是在“关于”对话框中按住ALT键,输入“EGGOUT”,将显示“你现在看到的是复活节彩蛋!OK!”信息,两秒种后自动消失,下面是实现的具体方法。
1. 根据惯例,复活节彩蛋一般都放在软件的“关于”(About)对话框中,为简化程序,在这里只使用一个“ABOUT”对话框。启动Delphi3后,关闭当前的空白窗体,在“FILE”菜单中选择“NEW...”,在“NEW ITEM”对话框中单击“FORM”卡,从中选择“ABOUT BOX”,在这个窗体的基础上你可以加入版本、版权等有关信息。
2. 在ABOUT BOX窗体的Panel1组件的空白处添加一个标签LABEL1,标题为“你现在看到的是复活节彩蛋!OK!”,设定合适的字体颜色和大小,将其Visible属性设置为FALSE。
3. 在"Object Inspector"中对ABOUT BOX窗体的KeyPreview属性缺省值做修改,将其值由FALSE改为TRUE,注意这一点很重要,否则无法实现本文的功能。
4. 在窗体的FormKeyDown事件中处理用户输入的字符:首先判断用户是否按下了ALT键,接着循环接收用户按住ALT输入的字符并放在一个字符串中,如果字符串等于“EGGOUT”,则置标签的显示属性为TRUE,延迟两秒种后自动隐含标签。
5 .双击“OK”按钮,写代码“CLOSE;”,用户可按此按钮退出程序。
下面给出完整的程序代码:
unit Unit1;
interface
uses Windows
SysUtils
Classes
Graphics
Forms
Controls
StdCtrls
Buttons
ExtCtrls;
type
TAboutBox = class(TForm)
Panel1: TPanel;
ProgramIcon: TImage;
ProductName: TLabel;
Version: TLabel;
Copyright: TLabel;
Comments: TLabel;
OKButton: TButton;
Label1: TLabel;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure OKButtonClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AboutBox: TAboutBox;
//定义一个字符串用来接收用户的输入
s:string;
implementation
{$R *.DFM}
procedure TAboutBox.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
delaytime:TDatetime;
begin
//如果按下ALT键、只接收字符
if (shift=[ssalt]) and (key>=$41) and (key<=$5a) then
begin
s:=s+chr(key);
if s=‘EGGOUT' then
begin
//显示彩蛋
label1.visible:=true;
//延迟代码
delaytime:=now+encodetime(0
0
2
0);
while now Application.ProcessMessages;
label1.visible:=False;
end;
end;
end;
procedure TAboutBox.OKButtonClick(Sender: TObject);
begin
close;//程序结束
end;
end.
说明:彩蛋的表现形式可以是多种多样的,你可以显示动画文字、图片等。
此程序在Delphi 3.0 、中文WIN98 环境下调试通过。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -