Fórum Menu Janelas - Como impedir abrir uma janela já aberta? #227409
21/04/2004
0
Gostaria que aparecesse uma mensagem de erro (´[color=red]A janela já está aberta![/color]´) e bloqueasse a abertura da mesma janela duas vezes.
Atenciosamente
Sergio 8) [/b][/b]
Tejo_pan
Curtir tópico
+ 0Posts
22/04/2004
Fatrix
private do código:
private
{ Private declarations }
function Formexiste(nomejanela:Tform):boolean;
public
{ Public declarations }
end;
implementation
{$R *.DFM}
Function TForm_Principal.Formexiste(Nomejanela:TForm):boolean;
var
I : integer;
begin
Formexiste := false;
for i := 0 to componentcount - 1 do
if Components[i] is TForm then
if TForm(Components[i])= nomejanela then
Formexiste := true;
end;
É simples, no menu janela coloque o seguinte código:
If Formexiste(Nome do Form) = false then Begin Nome do Form := TNome do Form.Create(Self); end else If Formexiste(Nome do Form) = true then Begin showmessage(´A janela já está aberta´); Nome do Form.BringToFront; Nome do Form.SetFocus; end;
Espero ter ajudado
Gostei + 0
22/04/2004
Tejo_pan
Funcionou perfeitamente.
Muito obrigado mesmo.
Sergio Costa Faria
Gostei + 0
22/04/2004
Sgubert
Será que seia possível vc me exemplificar como vc imlementou esse seu menu janelas???? Tenho uma aplicação MDI e gostaria de fazer este menu!!! Com relação a seu problema tente o seguinte, é mais simples e fácil.....
No evento on create da janela:
if Janela01 = nil
then ´mostra ela´
else ´traz ela para frente ou da uma mensagem´
OBS: No evento on destroy das janelas vc deve fazer o seguinte:
Janela01 = nil.
=> Acho que assim é bem masi fácil e legível....
[]´s
Samuel Gubert
Gostei + 0
22/04/2004
Tejo_pan
| Arquivo | Cadastro | Janelas | Ajuda |
No menu Janelas você deverá defini-la como ´Window Menu´ no Object Inspector. Depois, no seu formulário principal você deverá escrever o código acima (o primeiro código), em seguida, para cada janela que você for abrir (exemplo: cadastro >> clientes) você implementará o segundo código.
Espero ter ajudado.
Atenciosamente
Sergio Costa Faria
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)