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;