学院首页>网络编程>其它编程>Delphi3.0中复活节彩蛋及实现

Delphi3.0中复活节彩蛋及实现

作者:许振华 来源:未知 添加时间:2006-5-21 11:17:53
  启动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 环境下调试通过。
站内搜索