Form - Mostrando ShowModal com Show |
Top Previous Next |
|
Mostrando um formulário Modal usando Show Um exemplo disso é quando você está mostrando um diálogo do progresso de uma operação.
O problema é que se você usa ShowModal todo o código da operação deve estar contido no form do diálogo de progresso.
Para evitar isso use DisableTaskWindows and EnableTaskWindows.
Desta form seu diálogo vai agir como um formulário Modal e ao mesmo tempo permite executar o form da operação que está em progresso no diálogo.
procedure TForm1.ShowProgressDlg; var WindowList: Pointer; begin // Desabilita todos os formulários com exceção de FrmProgress WindowList := DisableTaskWindows(FrmProgress.Handle); try FrmProgress.Show; // Início do loop que executa a operação FrmProgress.ProgressBar1.Position := FrmProgress.ProgressBar1.Position + 1; // Fim do loop finally // Reabilita todos os formulários EnableTaskWindows(WindowList); FrmProgress.Close; end; // try end; // ShowProgressDlg
|