网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 程序设计-> Delphi/Pascal-> 在Delphi编程中创建一个启动闪现窗

在Delphi编程中创建一个启动闪现窗
作者:佚名 来源:InterNet 加入时间:2004-11-22
相关文章 相关书籍:

在Delphi编程中创建一个启动闪现窗口
江西省统计局计算中心 曾轶雄


  通常写得好的Windows程序显示一个启动提示或封面,也叫做闪现窗口。
由于工程本身创建了程序的主窗口,一般情况下主窗口最先出现, 那么闪现
窗口如何出现在主窗口之前。
  如果我们将主窗口的可视(Visible)属性设置为假,于工程启动时,是否能
将主窗口暂时隐藏起来,以使闪现屏幕最先出现呢?答案是不能。 因为应用程序
自动在适当时候,使Form可视。(注:当一个Form用做子窗口或对话框, 不需要
它们时,可视(Visible)属性设为假,可隐藏起Form。)
那么我们怎么解决这个问题呢?有以下两种方法:
方法一:调用Showmodal函数来实现。Showmodal方式使一个窗口为激活窗口, 和
Show相似,但它令窗口模式化。现举一例说明:
⒈开始一个新工程。给表格起名为MainForm,MainForm的单元起名为Main, 工程文
件起名为Test。
⒉在MainForm中插入一个Button部件,将其Caption属性设为“关闭”,为该部件
的OnClick事件创建一个过程,并在过程的begin和end之间插入Close语句。
⒊在应用程序添加一个表格,将这个表格起名为MoveForm,MoveForm 的单元起名
为Move。
⒋为便于演示,在MoveForm中插入一个Label部件,设置其Caption 属性为“欢迎
进入本系统”。
⒌建立两个表格之间的关联。在Unit Main的 implementation 中加入语句 uses
move;
再为MainForm创建OnActivate事件。
procedure TMainForm.FormActivate(sender:TObject);
begin
MoveForm.Showmodal;
end;
⒍从Component模板的System类别中选择一个计时器(Timer),添加入 MoveForm
表格中,设置其Interval属性为3000(可根据需要自定义),再为其OnTimer事件
添加语句
close;
加入一个Timer部件目的是用以控制闪现窗口显示时间。在此, MoveForm显示了3
秒钟后关闭,主窗口MainForm自动被激活。
⒎编译、运行程序,就能得到延迟为3秒的闪现窗口。
方法二:你可通过修改工程文件中的源代码来实现,这在Delphi 的编程中是很少
见的。现举一例具体说明:
前四步同方法一。
⒌选择View/Project Manager,击Option按钮,选择结果Project Option 对话底
部的Forms页栏目。注意,MainForm和MoveForm是在Auto-create forms 列表中。
选择MoveForm并击右键头按钮,把这个表格移到 Available forms 。 所有的
Delphi表格通过缺省方式自动在内存中建立, 因此它们要消耗内存和系统资源。
在类似这里(程序运行时创建一个表格)的情况下, 你应该将表格从自动创建列
表格中去掉。
⒍下一步修改工程的源代码。选择View/Project Source,修改begin和end之间的
语句如下:
程序清单Test.Dpr
program Test
uses
forms,
Main in 'MAIN.PAS'{MainForm},
Move in 'Move.PAS'{MoveForm}

{$R *.RES}

begin
MoveForm:=TMoveForm.Create(Application);{Create创建闪现窗口对象}
MoveForm.Show;
MoveForm.Update;
Application.CreateForm(TMainForm,MainForm);
MoveForm.Hide;
MoveForm.Free;{Free从内存中释放对象}
Application.Run;
end.
  第一条语句创建了对象,该对象存在内存中,但还不能看见, 为了让它出现并更
新它的内容,调用对象的Show和Update成员函数:Show和Update。 当闪现窗口使
用完后,用Hide函数将它隐藏起来,然后用Free函数释放它所占据的内存。
⒎如果此刻你编译和运行程序,MoveForm窗口一闪而过, 你可能未来得及看
清。为使MoveForm窗口显示几秒种,我们可为MainForm的OnCreate 事件创建一个
处理程序,延迟MoveForm窗口的显现时间。
program TMainForm.FormCreate(sender:Tobject);
var
currentTime:LongInt;
begin
currentTime:=GetTickCount div 1000;
while ((GetTickCount div 1000)<(currentTime+3) do
{不做任何事);
end;
end.
  GetTickCount函数返回窗口启动后过去的毫秒数,这个值除以1000 转化为秒数。
此时你编译运行程序,就能得到一个延迟3秒多的闪现窗口。
为闪现窗口添加上Image部件,再对字体及窗口进行修饰,我们就能为应用程
序,创建一个精美的封面或在程序启动时显示重要提示。

(邮编:330046 地址:江西省统计局计算中心
电话:0791-6214615 E-mail:zengyx@hotmail.com


[文章录入员:fightter]

相关文章 相关书籍:
本站推荐内容

近期主机类热搜关键词:
美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

Delphi/Pascal
C/C++/VC
C++Builder
Basic/VB类
Delphi/Pascal
Java编程
FORTRAN
其它
电脑教程阅读排行
·DELPHI下的多线程程序设计(...
·Delphi与Excel的亲密接...
·Delphi实现串口通信的常用的...
·Delphi中初始化.Ini文件...
·Delphi中用于读写(I/O)...
·谈谈Delphi中的类和对象
·Delphi编译错误中文手册
·Delphi中关于TApplic...
·OPENGL图形程序设计
·SQL的基本操作