首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi 怎么做一个等待窗体

2014-01-25 
delphi 如何做一个等待窗体?delphi 如何做一个等待窗体?后台计算,页面以动画的形式,提示用户等待.[解决办

delphi 如何做一个等待窗体?
delphi 如何做一个等待窗体?后台计算,页面以动画的形式,提示用户等待.
[解决办法]
新建一个窗体,上面放个image控件,在image上面显示一个gif动画
没有gif,用几个图片挨个播放组成动画形式
[解决办法]
GIF也不行,这种情况只能用多线程,你要是在窗体中处理GFI也会卡死的!根本没有动态效果!
[解决办法]
主线程showmodal,开新线程后台做事
[解决办法]


procedure TCSystemForm.saveSchoolInfo;
var
  SchoolInfoThread: TSchoolInfoThread; // 此线程为自定义的处理相关操作的线程
begin
  // 创建线程,并挂起(暂不执行Execute里的内容)
  SchoolInfoThread := TSchoolInfoThread.Create(True);
  // 线程执行完自动销毁
  SchoolInfoThread.FreeOnTerminate := True;
  // 指定线程结束后要运行的方法
  SchoolInfoThread.OnTerminate := DlThreadTerminate;
  // 唤醒线程,开始执行Execute里的内容
  SchoolInfoThread.Start;

  if not Assigned(CLoadingForm) then // CLoadingForm 为自己画的另外一个等待窗口 里面用一个gif图片在那里转啊转 = =
    CLoadingForm := TCLoadingForm.Create(Self);
  CLoadingForm.ShowModal;
end;

{ 相关操作的线程结束后需要运行的处理函数 }
procedure TCSystemForm.DlThreadTerminate(Sender: TObject);
begin
  if Assigned(CLoadingForm) then // 把提示窗口关闭
    CLoadingForm.Close;
  // 也可以再到这里添加其他的操作代码
end;

热点排行