系统设计时怎样避免闪烁的问题(100分)

  • 主题发起人 主题发起人 hbt1905
  • 开始时间 开始时间
H

hbt1905

Unregistered / Unconfirmed
GUEST, unregistred user!
当进行系统设计时,一个封面窗口,一个登录窗口,在一个就是DataMudle.另一个主窗口.
我在主窗口的OnCreate事件或OnShow事件中创建登录窗口.但登录不成功或用户按了取
消安钮后,我虽然用了Application.Terminate但主窗口还是创建了,并明显的有一闪的
现象.我想避免终止应用程序时不出现闪的现象,我也曾试着在工程里面创建军登录窗口
但此时主窗口就要改变了.这显然不行.不知怎样设计才好.请高手指教.
另一个不知哪儿有将数据库中的数据导出到Word和TXT文件的控件当然也应支持从Word
文件,或TXT文件导入到数据库.我说的是要好一点的控件呀.
Thanks a lot.
 
2.用ehlib控件,非常好。
 
我没有ehlib控,能否给我一份呀.我的E-mail是fengchi610@yeah.net
谢了.
 
在Application.Run之前将ShowMainForm设为False即可避免闪烁。当然啦,成功登录后再设回True
 
只有编辑工程文件了
 
hclee,Hi,玩了这么长Delphi居然还不知Application还有这个属性,实是罪过.
这招还真管用.
谢了.
 
没有ehlib控,能否给我一份呀.我的E-mail是zyf23@163.net
谢了.
 
> 只有编辑工程文件了
在工程PAS中写代码,在MainForm还没有Create时就创建登录窗口,登录失败直接EXIT。
//uses UintLogon;
begin
Application.Initialize;
with TFormLogon.Create(nil)do
try
if not ShowModal=mrOk then
Exit;
finally
Free;
end;
Application.CreateForm(TFormMain,FormMain);
Application.Run;
end.
 
很简单,在工程文件里加入条件判断,即在主界面创建之前判断登录是否成功。
如成功则继续工程的执行,如否则退出工程的执行。
你在主界面的ONCREATE事件里写会有闪烁,是因为工程中所有界面已经创建,不仅仅是
主界面。方法大致如HUZZZ所说。就不多累赘了
 

Application.Initialize;
Application.CreateForm(TForm1, Form1);//登陆窗口,设置一个全局标志,表示成功与否。
Application.Run;
if 登陆成功 then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);//主窗口
Application.Run;
end;
 
halt(0)代替application.terminate
 
接受答案了.
 
后退
顶部