Abrir um form usando a tecla ESC...
Alguém saberia me informar o código de como abrir um formulário usando apenas a tecla ´ESC´ quando o sistema estiver rodando?
Tentei assim.
Só que não funcionou.
Erivan marinho.
Tentei assim.
IF Key = 27 Then Application.CreateForm(TFrmLogin,FrmLogin); FrmLogin.ShowModal;
Só que não funcionou.
Erivan marinho.
Peninha
Curtidas 0
Respostas
Raserafim
25/03/2005
como vc não disse onde e qual é o erro, vou detalhar cada parte mesmo parecendo ser óbviu:
vc deverá utilizar o seguinte código no evento OnKeyDowm:
o primeiro erro do seu código é que faltou o begin e o end. sem estes o form só seria criado se satisfizesse a condição, mas o form sempre iria executar a linha que pede para exibir o form.
A linha Application.CreateForm(TFrmLogin,FrmLogin) só é necessária caso vc tenha explicitamente comentado a linha que faz o delphi criar o form automaticamente, então vc usaria o begin e o end apenas se quisesse.
vc deverá utilizar o seguinte código no evento OnKeyDowm:
IF Key = 27 Then begin Application.CreateForm(TFrmLogin,FrmLogin); FrmLogin.ShowModal; end;
o primeiro erro do seu código é que faltou o begin e o end. sem estes o form só seria criado se satisfizesse a condição, mas o form sempre iria executar a linha que pede para exibir o form.
A linha Application.CreateForm(TFrmLogin,FrmLogin) só é necessária caso vc tenha explicitamente comentado a linha que faz o delphi criar o form automaticamente, então vc usaria o begin e o end apenas se quisesse.
GOSTEI 0
Michael
25/03/2005
Olá amigo!
Bom, vc não especificou em qual evento chamou o código. Se foi em OnKeyPress, então deve preceder o código da tecla por #.
[]´s
Bom, vc não especificou em qual evento chamou o código. Se foi em OnKeyPress, então deve preceder o código da tecla por #.
IF Key = 27 Then begin Application.CreateForm(TFrmLogin,FrmLogin); FrmLogin.ShowModal; end;
[]´s
GOSTEI 0
Peninha
25/03/2005
Amigos, segui as instruções que me passaram, pois não obtive nenhum sucesso.
Coloquei os códigos tanto no evento OnKeyDwon como no OnkeyPress do form principal chamando o form Login mas não acontece nada e nem me retorna nenhum erro. mais alguma susgestão?
Erivan Marinho.
Coloquei os códigos tanto no evento OnKeyDwon como no OnkeyPress do form principal chamando o form Login mas não acontece nada e nem me retorna nenhum erro. mais alguma susgestão?
Erivan Marinho.
GOSTEI 0
Fred
25/03/2005
Olha eu fiz um teste rapido no OnKeyPress e funcionou certinho:
experimente mudar a propriedade KeyPreview do form Principal para True! (o meu funcionou com false e true)
if key = #27 then showmessage(´Esc´);
experimente mudar a propriedade KeyPreview do form Principal para True! (o meu funcionou com false e true)
GOSTEI 0
Peninha
25/03/2005
Amigo, será que daria para vc me explicar melhor? pois não entendi o porque de ShowMessage(´Esc´);
Erivan Marinho.
Erivan Marinho.
GOSTEI 0
Marco Salles
25/03/2005
Olha eu fiz um teste rapido no OnKeyPress e funcionou certinho:
Código:
if key = #27 then
showmessage(´Esc´);
[color=red:480bcdd028]experimente mudar a propriedade KeyPreview do form Principal para True! (o meu funcionou com false e true[/color:480bcdd028])
Amigo, será que daria para vc me explicar melhor? pois não entendi o porque de ShowMessage(´Esc´);
Erivan Marinho.
Acredito que ele quis dizer que a mensagem foi processada , com o , Presionando a Tecla Key No Form principal.. Logo , tudo que Tiver Dentro Do <Begin End> Consequentemente será Processada Tambem
Entao , no lugar da Intruçao Showmessage(´Esc´) , Experimente colocar aquilo que voce deseja fazer , que no caso e Criar e abrir um novo formulário....
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin // showmessage(´Esc´); Application.CreateForm(TFrmLogin,FrmLogin); FrmLogin.ShowModal; Freeandnil(FrmLogin); end;
:idea: :idea: [color=red:480bcdd028] Não esqueça de Options :arrow: Projects :arrow: Avalaible Forms Etc.....[/color:480bcdd028]
GOSTEI 0