巧用Delphi制作溅射显示屏

  stdctrls;

Delphi XE7的Splash 功能,xe7splash

Delphi
XE5,XE6,XE7编译的程序在Android下启动会有一段时间黑屏,以前需要用Java扩展Activity增加Splash显示,

现在Delphi XE7增加了Splash Image显示功能了。

步骤:

1.鼠标右键点击工程,选择Options,

2.进入Application分页

3.勾选Include Splash Image

4.选择您的Splash Image文件

5.设置Splash Tile mode和Splash Gravity

Splash Tile Mode

disabled -按图片尺寸大小显示,显示位置有Splash Gravity设置

clamp - 图形边框适应屏幕大小

repeat - 屏幕水平,竖立方向重复填充满Splash Image

mirror - 跟repeat差不多,图片是镜像的。

Gravity 设置比屏幕小的图片在屏幕中的位置,只有当Splash Title
Mode为Disable时有效,

参数大家一看便知道什么意思了,我就不提了。

 

图片 1

 

  uses

delphi中不是主窗口却在启动时出现是什原因

  delphi中不是主窗口却在启动时出现是什么原因
  说的或意思是不是像WORD 启动时效果

  巧用Delphi制作溅射屏幕
  (作者:施路)

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

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

  1、开始一个新的工程。将窗体命名为MainForm,同时将其Caption属性设置为SplashinDemo。把这个工程保存在一个目录中,如C:\Projects\Splashin。把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},

......余下全文>>
 

XE7的Splash 功能,xe7splash Delphi
XE5,XE6,XE7编译的程序在Android下启动会有一段时间黑屏,以前需要用Java扩展Activity增加Splash显示,
现在...

  mainform: tmainform;

Delphi问题

我这样试着是可以的:
Unit1~~Form1:主窗体
Unit2~~splash Splash窗体
project->Options:把Splash窗体设为非自动产生窗体

procedure TForm1.FormCreate(Sender: TObject);
var
CurTime:LongWord;
Delaytime:LongWord;
begin
delaytime:=5000;
curtime:=GetTickCount ;
while(gettickcount<(curtime+delaytime))do
Application.ProcessMessages; //建议加上该句。

end;

program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {splash};

{$R *.res}

begin
Application.Initialize;
splash:=Tsplash.Create(application);
Splash.Show;
Splash.update;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

Delphi6+win2k 编译,运行,通过。
 

  main in main.pas mainform,

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

  close;

  while ((gettickcount div 1000)<(stoptime+2)) do

  program project3;

  exitbutton: tbutton;

  splashform.close;

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

  1、开始一个新的工程。将窗体命名为mainform,同时将其caption属性设置为splashindemo。把这个工程保存在一个目录中,如c:\projects\splashin。把mainform的单元命名为main,把工程文件命名为splashin。

  private

  $r *.res

  var

  7、由于窗口没有轮廓,所以从additional组件类中插入一个bevel组件对象。这有助于定义窗口的边缘。将bevel1的align属性设置为alclient。同时,将对象的shape属性改变为bsframe,将其style属性改变为bsraised。这些值由使用者来确定。

  application.createform(tmainform,mainform);

  interface

  private declarations

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

  procedure exitbuttonclick(sender: tobject);

  splashform.show;

  4、将这个窗体的name属性改变为splashform,删除其caption属性。此外,将其borderstyle属性改变为bsnone,同时将bordericons下的三个子值设置为false。

  tmainform = class(tform)

  $r *.dfm

  end.

  forms,

  12、按f9编译、运行程序。

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

  end;

  end;

  begin

  splashform:=tsplashform.create(application);

  sleep(1);

  unit main;

  begin

  stoptime:longint;

  procedure tmainform.exitbuttonclick(sender: tobject);

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

  splashform.update;

  application.run;

  implementation

  splash in splash.pas splashform;

  begin

  stoptime:=gettickcount div 1000;

  public

  type

  end.

  procedure formcreate(sender: tobject);

  uses

  2、在mainform中插入一个button组件。将button的name属性改为exitbutton,而将其caption属性改为exit。为exitbutton的onclick事件创建一个处理器,在过程的begin和end关键词之间插入close;语句。

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

  var

  procedure tmainform.formcreate(sender: tobject);

  public declarations

  end;

  3、选取file new form命令,或者单击new
form速度按钮。添加一个新的窗体。

  windows, messages, sysutils, classes, graphics,
controls,forms,dialogs,

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

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

相关文章

Comment ()
评论是一种美德,说点什么吧,否则我会恨你的。。。