我用Delphi7.0写了个固件升级工具,由时升级需要几秒钟,我想弄个进度条好看些。该怎么用showmodal在另个Form窗口中显示进度条?
具体是这样的
//升级程序按钮启动,升级开始
procedure TUpdate_Form.Update_SpeedButtonClick(Sender: TObject);
var
...
begin
...
showmessage(‘升级完成!’);
end
具体是这样的
//升级程序按钮启动,升级开始
procedure TUpdate_Form.Update_SpeedButtonClick(Sender: TObject);
var
...
begin
...
showmessage(‘升级完成!’);
end
解决方案 »
- dbgrid 如何显示带有子表的表
- delphi操作dbf数据库
- 紧急求助呀!帮帮忙!
- 关于ADOquery的问题!
- 请问有谁做过P3的接口,请赐教!
- 我在WIN2K SERVER下装有ORACLE815 SERVER在我加入一个新的别名保存后点击SERVER NAME时,不能显示ORACLE别名的列表,弹出“Operation not
- 汇集Delphi编译器后台动作曝光点!
- 如何得到变量的名称?
- 高手求急:怎么定义一个超过255的字符串,我试着用AnsiString 不可以,谢谢
- Delphi中如何实现VB中的SENDKEYS同样的功能?
- listview1.AddItem()的问题
- delphi 7.0 fastreport 3.0 关于frxCross以及Band宽度以及起始位置设置问题
用Show + fsStayOnTop好了
你的前边的窗口,在现实的时候可以ENABLEWINDOW父窗口就可以了
进度开始的时候Show,完成的时候Close
var
vfrmProgress: TfrmProgress;
begin
vfrmProgress := TfrmProgress.create(nil);
try
vfrmProgress.Show;
//调用你自己的代码;
finally
FreeAndNil(vfrmProgress);
end;
如果不想窗体被隐藏,可设置vfrmProgress.formstyle := fsStayOnTop;
Application.CreateForm(TfrmProgress, frmProgress);
frmProgress.ShowModal;
带进度条的升级窗体(frmProgress)中创建一个线程:
type
ThreadProgress = class(TThread)
protected
procedure Execute; override;
end;
……
var
PT:ThreadProgress;
//升级函数
procedure ThreadProgress.Execute;
begin
inherited;
//你升级的程序代码
end;
//在启动升级部分启动线程:
PT:=ThreadProgress.create(false);
//在结束部分释放
PT.free;
你用个窗口,设置成最前面,然后用个Time不断的增加进度位置就可以了