Como impedir um form MDIShild de ser aberto 2 vezes?

Delphi

26/02/2003

Como fazer para impedir que um form MDIShild seja aberto duas vezes, ou seja, se tenho um formCliente aberto, o mesmo não poderá ser aberto novamente.


Anonymous

Anonymous

Curtidas 0

Respostas

Anonymous

Anonymous

26/02/2003

Segue um exemplo abaixo:

procedure TfrmPrincipal.Entrada;
var
i,Found:Integer;
frmEntrada:TfrmEntrada;
begin
//Veriricar se o formulário já foi criado.
Found := -1;
for i := 0 to Screen.FormCount - 1 do
begin
if Screen.Forms[i] is TfrmEntrada then
begin
Found := i;
break;
end;
end;
if Found <> -1 then
begin
Screen.Forms[Found].Show;
end
else
begin
LockWindowUpDate(handle);
try
frmEntrada := TfrmEntrada.Create(Self);
frmEntrada.Show;
finally
LockWindowUpDate(0);
end;
end;
end;


GOSTEI 0
Anonymous

Anonymous

26/02/2003

Faça assim:

procedure TForm1.ToolButton1Click(Sender: TObject);
begin
if not assigned(form2) then begin
application.createform(tform2,form2);
form2.show;
end else begin
form2.WindowState:=wsnormal;
end;
end;

No evento onclose do seu form mdichild coloque:

NomedoForm:=nil;


GOSTEI 0
POSTAR