关于模拟ShowModal的一个问题

  • 主题发起人 主题发起人 import
  • 开始时间 开始时间
I

import

Unregistered / Unconfirmed
GUEST, unregistred user!
有的时候後,我们需要一个Modal窗体,但是同时需要程序继续运行进行其他的控制,那么该这么办呢?
利用DisableTaskWindows和 EnableTaskWindows 可以达到这一效果。
  下面是演示实现程序:
procedure TForm1.ShowProgressDlg;
var
WindowList: Pointer;
begin
{除了Form2外使所有窗口无效}
WindowList := DisableTaskWindows(Form2.Handle);
try
Form2.Show;
{循环执行任务}
Form2.ProgressBar1.Position :=
Form2.ProgressBar1.Position + 1;
{循环结束}
finally
{重新使所有窗口有效}
EnableTaskWindows(WindowList);
Form2.Close;
end;
end;
 

Similar threads

后退
顶部