Fórum Alternar entre Form1 e Form2? ambos em Modal. #333160

16/11/2006

0

Form1 ativo em ShowModal, então um botão chama o Form2.ShowModal. Porém no Form2 a outro botão que por sua vez chama o Form1.ShowModal.

Um form está chamando o outro perfeitamente, porém quando o form já está em modal ao chamalo ele aparece sobre o outro forma, porém está sem foco, nada funciona nele.

Não sei se fui bem claro, mas basicamente estou precisando fazer um form chamar o outro mesmo que o outro já esteja visivel.

Ambos os Forms usando fsNormal.


Weber

Weber

Responder

Posts

16/11/2006

Massuda

Só pode haver um form ativo sendo exibido com ShowModal. Você pode ter vários forms exibidos com ShowModal, mas somente um deles pode estar ativo.

Se quiser ter vários forms ativos, use Show, mas aí todos os forms do programa que estiverem abertos estarão ativos, você tem que gerenciar quem deve ou não ficar ativo.


Responder

Gostei + 0

16/11/2006

Weber

Meu problema está sendo justamente este, definir quem realmente deve estar ativo para o usuário.
veja parte do código:

Código no Form de nome FrmMovConsulta
    if FrmMovAgenda = nil then
    begin
      Application.CreateForm(TFrmMovAgenda, FrmMovAgenda);
      FrmMovAgenda.ShowModal;
      FreeAndNil(FrmMovAgenda);
    end
    else
    begin
      FrmMovAgenda.BringToFront;
      SetActiveWindow(FrmMovAgenda.Handle);
      FrmMovAgenda.Focused;
    end;


Código no Form de nome FrmMovAgenda
    if FrmMovConsulta = nil then
    begin
      Application.CreateForm(TFrmMovConsulta,FrmMovConsulta);
      FrmMovConsulta.ShowModal;
      FreeAndNil(FrmMovConsulta);
    end
    else
    begin
      FrmMovConsulta.BringToFront;
      SetActiveWindow(FrmMovConsulta.Handle);
      FrmMovConsulta.Focused;
    end;


As rotinas acima visualmente funcionam, porém, mesmo quando o form está sobre o topo ele não tem foco, tipo assim, o click do mouse não funciona, teclas não funcionam e tal.


Responder

Gostei + 0

16/11/2006

Massuda

O que você pretende fazer parece com o form/janela que aparece quando você quer localizar texto no navegador (Ctrl+F se estiver usando IE)?

Se for, seu código não funciona por causa do ShowModal. Experimente usar Show.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar