Fórum Abrir um form usando a tecla ESC... #274092

25/03/2005

0

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.
IF Key = 27 Then
    Application.CreateForm(TFrmLogin,FrmLogin);
    FrmLogin.ShowModal;

Só que não funcionou.
Erivan marinho.


Peninha

Peninha

Responder

Posts

25/03/2005

Raserafim

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:

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.


Responder

Gostei + 0

25/03/2005

Michael

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 #.

IF Key = 27 Then 
begin 
  Application.CreateForm(TFrmLogin,FrmLogin); 
  FrmLogin.ShowModal; 
end;


[]´s


Responder

Gostei + 0

26/03/2005

Peninha

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.


Responder

Gostei + 0

26/03/2005

Fred

Olha eu fiz um teste rapido no OnKeyPress e funcionou certinho:

if key = #27 then
   showmessage(´Esc´);

          


experimente mudar a propriedade KeyPreview do form Principal para True! (o meu funcionou com false e true)


Responder

Gostei + 0

26/03/2005

Peninha

Amigo, será que daria para vc me explicar melhor? pois não entendi o porque de ShowMessage(´Esc´);
Erivan Marinho.


Responder

Gostei + 0

26/03/2005

Marco Salles

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]


Responder

Gostei + 0

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

Aceitar