que comando devo usar?
Boa tarde,
Tenho 2 Form´s, um chamado FORM_A e outro FORM_B, a pergunta é a seguinte:
--- Preciso chamar o FORM_B através do FORM_A, quando o FORM_B for fechado, o foco deverá voltar para o FORM_A na linha seguinte ao comando que chamou o FORM_B. Qual comando devo usar par que
essa tarefa seja efetuada?.
desde já agradeço,
Marcos.
Tenho 2 Form´s, um chamado FORM_A e outro FORM_B, a pergunta é a seguinte:
--- Preciso chamar o FORM_B através do FORM_A, quando o FORM_B for fechado, o foco deverá voltar para o FORM_A na linha seguinte ao comando que chamou o FORM_B. Qual comando devo usar par que
essa tarefa seja efetuada?.
desde já agradeço,
Marcos.
Marcao
Curtidas 0
Respostas
Marcao
27/10/2003
Alguem pode me ajudar?
Obrigado!
Marcos
Obrigado!
Marcos
GOSTEI 0
Fabio.hc
27/10/2003
Tente assim:
FORM_B.ShowModal;
GOSTEI 0
Marcao
27/10/2003
Boa tarde Fabio.HC,
agradeço sua atenção, mas não funcionou, dá um erro como esse:
´Cannot make a visible window modal´
se voce souber que erro é esse, me avise, ok?,
Mesmo assim obrigado pela atenção,
Marcos.
agradeço sua atenção, mas não funcionou, dá um erro como esse:
´Cannot make a visible window modal´
se voce souber que erro é esse, me avise, ok?,
Mesmo assim obrigado pela atenção,
Marcos.
GOSTEI 0
Fabio.hc
27/10/2003
O FORM_B tem ter a propriedade windownstate=wsnormal.
GOSTEI 0
Marcao
27/10/2003
está como windownstate=wsnormal, mesmo assim o erro continua.
Marcos
Marcos
GOSTEI 0
Marcao
27/10/2003
Fabio, não deu o erro, mas quando fecho o form_b (cepfrm) o foco nao retorna p/ a próxima linha do codigo.
aqui vai um pedaço do código:
procedure TEmpresaFrm.BitBtn1Click(Sender: TObject);
begin
if cepfrm = Nil Then
begin
cepfrm:=Tcepfrm.Create(Self);
end
else
begin
cepfrm.WindowState := wsNormal;
cepfrm.BringToFront;
cepfrm.Focused;
cepfrm.ShowModal;
showmessage(´tem que continuar nessa linha apos cepfrm for fechado´);
end;
end;
aqui vai um pedaço do código:
procedure TEmpresaFrm.BitBtn1Click(Sender: TObject);
begin
if cepfrm = Nil Then
begin
cepfrm:=Tcepfrm.Create(Self);
end
else
begin
cepfrm.WindowState := wsNormal;
cepfrm.BringToFront;
cepfrm.Focused;
cepfrm.ShowModal;
showmessage(´tem que continuar nessa linha apos cepfrm for fechado´);
end;
end;
GOSTEI 0
Jaguarnet7
27/10/2003
try
FORM_B.ShowModal;
finally
// aki voce muda o foco pro proximo
end;
deve funcionar
FORM_B.ShowModal;
finally
// aki voce muda o foco pro proximo
end;
deve funcionar
GOSTEI 0
Fabio.hc
27/10/2003
Seu codigo.
Fiz estas correções e funcionou:
ps. Passei o comando errado, o certo é ´FormStyle=fsNormal´
procedure TEmpresaFrm.BitBtn1Click(Sender: TObject); begin if cepfrm = Nil Then begin cepfrm:=Tcepfrm.Create(Self); end else begin cepfrm.WindowState := wsNormal; cepfrm.BringToFront; cepfrm.Focused; cepfrm.ShowModal; showmessage(´tem que continuar nessa linha apos cepfrm for fechado´); end; end;
Fiz estas correções e funcionou:
procedure TEmpresaFrm.BitBtn1Click(Sender: TObject); begin if cepfrm = Nil Then // begin cepfrm:=Tcepfrm.Create(Self); // end //else // begin cepfrm.WindowState := wsNormal; cepfrm.BringToFront; cepfrm.Focused; cepfrm.ShowModal; showmessage(´tem que continuar nessa linha apos cepfrm for fechado´); // end; end;
ps. Passei o comando errado, o certo é ´FormStyle=fsNormal´
GOSTEI 0
Bacalhau
27/10/2003
A mensagem ´Cannot make a visible window modal´ é resolvida colocanco no FORM_B a propriedade Visible := false;
abraço
bacalhau
abraço
bacalhau
GOSTEI 0
Marcao
27/10/2003
Bom dia a todos que estão tentando ajudar-me,
Eu estou trabalhando com formulários do tipo fsMDIChild, a propriedade visible só pode ser true, até agora as tentativas passadas por vocês nao deu certo, mesmo assim agradeço a atenção de todos, obrigado.
Marcos.
Eu estou trabalhando com formulários do tipo fsMDIChild, a propriedade visible só pode ser true, até agora as tentativas passadas por vocês nao deu certo, mesmo assim agradeço a atenção de todos, obrigado.
Marcos.
GOSTEI 0
Bacalhau
27/10/2003
Ó criatura de Deus, agora é que dizes que é MDIChild??? :lol:
Faz assim:
FormTal := TFORM_B.create(self);
FormTal.FormStyle := fsNormal; // desactiva MDIChild
FormTal.WindowStyle := WsNormal;
FormTal.Visible := False;
FormTal.showmodal;
Enquanto o FORM_B estiver activo o FORM_A não pia!! Depois de fechar, é passar o focus para onde queres, questão que já foi explicada anteriormente.
Abraço
bacalhau
Faz assim:
FormTal := TFORM_B.create(self);
FormTal.FormStyle := fsNormal; // desactiva MDIChild
FormTal.WindowStyle := WsNormal;
FormTal.Visible := False;
FormTal.showmodal;
Enquanto o FORM_B estiver activo o FORM_A não pia!! Depois de fechar, é passar o focus para onde queres, questão que já foi explicada anteriormente.
Abraço
bacalhau
GOSTEI 0
Marcao
27/10/2003
Caro amigo bacalhau,
Funcionou do jeito que eu queria, valeu pela força,
e agradeço a todos os que tentaram,
OBRIGADO!
Marcos.
Funcionou do jeito que eu queria, valeu pela força,
e agradeço a todos os que tentaram,
OBRIGADO!
Marcos.
GOSTEI 0
Bacalhau
27/10/2003
abraço do peixão,,, 8)
GOSTEI 0