在加载图像时,我想显示一个带有进度指示器的表单(带有bsNone边框样式).
但是,如果我使用ShowModal显示表单,主表单的执行会停止,所以我不能这样做.
如果我调用Show,则用户可以访问所有其他表单组件,这可能很危险,而照片未完全加载.
我需要得到方法,禁用主窗体上的所有内容,而加载没有完成.
请告诉我,这是怎么可能的.
解决方法 将MainForm设置为进度表单的PopupParent,以便MainForm永远不会出现在进度表单的顶部.然后只需在进度表单打开时设置MainForm.Enabled:= False,并在关闭进度表单时设置MainForm.Enabled:= True.procedure TMainForm.ShowProgressForm;begin with TProgressForm.Create(nil) do begin PopupParent := Self; OnClose := ProgressFormClose; Show; end; Enabled := False;end;procedure TMainForm.ProgressFormClose(Sender: TObject; var Action: TCloseAction);begin Action := caFree; Enabled := True;end;
这模拟了howShowModal()对用户的行为(MainForm在进度表打开时不是用户交互的),但没有阻止代码.
总结以上是内存溢出为你收集整理的Delphi在加载时禁用表单全部内容,希望文章能够帮你解决Delphi在加载时禁用表单所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)