巧用Delphi制作溅射屏幕

北方的酒神啊

北方的酒神啊

2016-01-29 14:14

巧用Delphi制作溅射屏幕,巧用Delphi制作溅射屏幕
 
  精心编写的WINDOWS程序显示启动注意事项,称之为溅射屏幕(splash screen)。利用一点儿小小的内容,即可给程序的显示添加不少色彩。

  由于工程本身创建程序的主窗口,且启动溅射屏幕必须在创建主窗口之前出现,所以工程文件必须创建自己的启动屏幕。这意味着用户必须修改源代码来创建工程文件,而这通常在DELPHI编程中是不需要的。下面的过程介绍了溅射屏幕的建立过程。

  1、开始一个新的工程。将窗体命名为MainForm,同时将其Caption属性设置为SplashinDemo。把这个工程保存在一个目录中,如C:ProjectsSplashin。把MainForm的单元命名为Main,把工程文件命名为Splashin。

  2、在MainForm中插入一个Button组件。将Button的Name属性改为ExitButton,而将其Caption属性改为Exit。为ExitButton的OnClick事件创建一个处理器,在过程的begin和end关键词之间插入Close;语句。

  3、选取File|New Form命令,或者单击New Form速度按钮。添加一个新的窗体。

  4、将这个窗体的Name属性改变为SplashForm,删除其Caption属性。此外,将其BorderStyle属性改变为bsnone,同时将BorderIcons下的三个子值设置为False。

  5、保存这个工程。当Delphi提示读者提供单元文件名时,要确信当前目录为正确的目录。为SplashForm的单元文件名输入Splash。

  6、将SplashForm的Enabled属性设置为False。这里不想让用户能够给窗口提供键盘和鼠标命令,这是极少见的情况之一。在这个例子中,我们想让程序对SplashForm的显示拥有完全的控制权。

  7、由于窗口没有轮廓,所以从Additional组件类中插入一个Bevel组件对象。这有助于定义窗口的边缘。将Bevel1的Align属性设置为alClient。同时,将对象的Shape属性改变为bsFrame,将其Style属性改变为bsRaised。这些值由使用者来确定。

  8、在SplashForm中插入想使用的组件,在这里不要插入任何按钮或者其他相互作用的控件。应用程序本身显示和去除启动溅射对话框。

  9、选择Project菜单。高亮显示Splash工程个弹出式菜单。选择Options命令。在所产生的Project Options对话框中,选取Forms页标签。注意,MainForm和SplashForm位于自动创建的窗体列表中。高亮显示每个窗体并单击鼠标右按钮来将其移动到Available窗体。所有的Delphi窗体在运行时都是在内存中自动创建的,这要消耗内存和系统资源。在这样的一个案例中,程序是在运行时创建窗体的,读者应该从自动创建的列表中删除窗体。关闭ProjectOptions窗口。

  10、接下来,修改工程的源代码,以便在显示主窗口之前显示溅射对话框。这里需要在工程文件中插入语句,以便与Splash.dpr工程文件相匹配。工程源代码如下:

  program Project3;

  uses

   Forms,

   main in ‘main.pas‘ {MainForm},

   splash in ‘splash.pas‘ {SplashForm};

  {$R *.RES}

  begin

   SplashForm:=TSplashForm.Create(Application);

   SplashForm.Show;

   SplashForm.Update;

   Application.CreateForm(TMainForm,MainForm);

   SplashForm.Close;

   Application.Run;

  end.

  11、如果这时编译和运行程序,它就非常快速地显示和去除启动溅射对话框,以至用户可能没机会见到它。为了强迫对话框保持几秒钟的可见时间,请选取程序的MainForm。为窗体的OnCreate命令创建一个处理器。在关键词的前面添加一个名为stopTime的长整型变量。在begin和end之间插入两个语句:一个为对Windows GetTickCount函数的调用。来将stopTime设置为Windows已在运行的秒数;另一个语句为while语句,这个语句另外延迟2秒钟。程序清单如下:

  unit main;

  interface

  uses

   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

   StdCtrls;

  type

   TMainForm = class(TForm)

    Exitbutton: TButton;

    procedure ExitbuttonClick(Sender: TObject);

    procedure FormCreate(Sender: TObject);

   private

    { Private declarations }

   public

    { Public declarations }

   end;

  var

   MainForm: TMainForm;

  implementation

  {$R *.DFM}

  procedure TMainForm.ExitbuttonClick(Sender: TObject);

  begin

   close;

  end;

  procedure TMainForm.FormCreate(Sender: TObject);

  var

   stopTime:LongInt;

  begin

   stopTime:=GetTickCount div 1000;

展开更多 50%)
分享

猜你喜欢

巧用Delphi制作溅射屏幕

Delphi
巧用Delphi制作溅射屏幕

delphi编程启动屏幕保护程序

编程语言 网络编程
delphi编程启动屏幕保护程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用Delphi实现远程屏幕抓取

Delphi
用Delphi实现远程屏幕抓取

Delphi中TApplication类的巧用

Delphi
Delphi中TApplication类的巧用

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Delphi开发98屏幕保护预览程序

Delphi
Delphi开发98屏幕保护预览程序

巧用Photoshop 制作三星T408屏幕壁纸

PS PS教程
巧用Photoshop 制作三星T408屏幕壁纸

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《迷你西游》人皇李世民获得与阵容搭配

《迷你西游》人皇李世民获得与阵容搭配

Delphi让你发送Flash电子邮件(2)

Delphi让你发送Flash电子邮件(2)
下拉加载更多内容 ↓