永发信息网

delphi中怎么做闪屏

答案:2  悬赏:30  手机版
解决时间 2021-05-09 00:48
delphi中怎么做闪屏

最佳答案
program Test
uses
forms,
Main in 'MAIN.PAS' {MainForm},
Splash in 'Splash.PAS' {SplashForm}

{$R *.RES}

begin
{ SplashForm为闪屏窗体 }
SplashForm := TSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Update;
Application.CreateForm(TMainForm,MainForm);
SplashForm.Hide;
SplashForm.Free;
Application.Run;
end.
全部回答

方法一:

调用Showmodal函数来实现。Showmodal方式使一个窗口为激活窗口,和Show相似,但它令窗口模式化。现举一例说明: ⒈开始一个新工程。给表格起名为MainForm,MainForm的单元起名为Main, 工程文件起名为Test。 ⒉在MainForm中插入一个Button部件,将其Caption属性设为“关闭”,为该部件的OnClick事件创建一个过程,并在过程的begin和end之间插入Close语句。 ⒊在应用程序添加一个表格,将这个表格起名为MoveForm,MoveForm 的单元起名为Move。 ⒋为便于演示,在MoveForm中插入一个Label部件,设置其Caption 属性为“欢迎进入本系统”。 ⒌建立两个表格之间的关联。在Unit Main的 implementation 中加入语句 usesmove;再为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部件,再对字体及窗口进行修饰,我们就能为应用程序,创建一个精美的封面或在程序启动时显示重要提示。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
“不可能”英文是什么
这个短信是什么意思?
谁能告诉我?怎么养猪大得快?
厌世想死消极的句子,表达厌世的句子
保时捷精修改装地址在哪,我要去那里办事
NOKIA手机1000元以下的哪款好
为什么接了语音或视频之后,耳麦的声音变成了
我是6月29号做了人流,可到今天大姨妈还没有
谁非常肯定的知道穿越火线几号有2倍或3倍经验
给我的电脑升级
中国有什么战斗机能作眼镜蛇机动?
我超级QQ4级了,QQ33级升到34级要多少天啊
怎样装扮空间?
白芝塅这个地址在什么地方,我要处理点事
老鹰捉小鸡的评语,描写老鹰捉小鸡的句子(20个
推荐资讯
明年做什么生意好啊
郑州富士康报名有没有在平顶山设的报名地点
热火在新赛季夺冠的希望有多大?或者说有没有
做咩日日跑步两个钟好似中越来越胖?
中级财务会计考试要点样复习?
赛尔号莫比重攻击吗
花的种类怎么这么少?
用什么方法使Q最快升级
NBA2K9装了最新补丁进游戏怎么老在读碟
2010年农历六月二是二早上十点半的小孩名字
诛仙是玩老区好还是新区好
经常恶心呕吐是怎么回事?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?