Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2013-08

formkeypress problemas

2 messages · 1 person ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Paola Bruccoleri

Hola todos..

En los forms donde quiero pasar de un control a otro con enter, heredo de otro (frmEnterESC) que tiene programado en el formkeypress y formkeydown dicho comportamiento. Funciona todo ok Pero, tengo otro form especial, donde no quiero heredar de ese, sino colocar en dichos eventos un c�digo similar, pero modificado, ya que adem�s, no quiero cerrar el form con ESC sino que haga otra cosa.

Entonces, copi�/pegu� el c�digo de esos eventos del frmEnterESC en este, modifiqu� la herencia del form y listo. Por ahora como no cambi� nada m�s, se supone que DEBE funcionar igual que antes (la propiedad keypreview del form est� en true). Pero no funciona! Estoy depurando, y cuando presiono enter en cq control (son edits) no pasa por elevento onkeypress ni onkeydown.

Este es el MISMO c�digo q tengo en frmEnterESC

procedure TfrmAgregar.FormKeyDown(Sender: TObject; var Key: Word;
   Shift: TShiftState);
begin
   if (Key =  27) then
      begin
        Key := 0;
        Close;
      end;
end;
procedure TfrmAgregar.FormKeyPress(Sender: TObject; var Key: char);
begin
   if (key =  #13) and not(ActiveControl is TCustomButton) then
     begin
       SelectNext(ActiveControl, True, True);
       Key := #0;
     end
end;

qu� podr� estar pasando???
muchas gracias!

Reply by email

Paola Bruccoleri
to Paola Bruccoleri

El 20/08/2013 11:53, Paola Bruccoleri escribi�:

Show quoted text 36 lines
Hola todos.. En los forms donde quiero pasar de un control a otro con enter, heredo de otro (frmEnterESC) que tiene programado en el formkeypress y formkeydown dicho comportamiento. Funciona todo ok Pero, tengo otro form especial, donde no quiero heredar de ese, sino colocar en dichos eventos un c�digo similar, pero modificado, ya que adem�s, no quiero cerrar el form con ESC sino que haga otra cosa. Entonces, copi�/pegu� el c�digo de esos eventos del frmEnterESC en este, modifiqu� la herencia del form y listo. Por ahora como no cambi� nada m�s, se supone que DEBE funcionar igual que antes (la propiedad keypreview del form est� en true). Pero no funciona! Estoy depurando, y cuando presiono enter en cq control (son edits) no pasa por elevento onkeypress ni onkeydown. Este es el MISMO c�digo q tengo en frmEnterESC procedure TfrmAgregar.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = 27) then begin Key := 0; Close; end; end; procedure TfrmAgregar.FormKeyPress(Sender: TObject; var Key: char); begin if (key = #13) and not(ActiveControl is TCustomButton) then begin SelectNext(ActiveControl, True, True); Key := #0; end end;

Hola de nuevo...
me da por revisar los lfm, y veo que no ten�a la propiedad keypreview = true.. a pesar de que si miro el inspector de objetos del form, SI la veo en true...
cosa rara.... la agregu� a mano al lfm y ahora anda....

byeeeeeeeeeeeeeee

Reply by email