[Lazarus-es] ruidito

José Antonio Cuello josea en artextrading.com
Mie Jul 7 17:42:13 CEST 2010


Hola, creo que si lo tratas en el keypress en vez del key down puedes
anular la pulsación con key := #0 ya que en el keydown la tecla ya ha
sido pulsada y se lanzan los eventos de teclado igualmente.

Bueno no se si me he explicado correctamente, pero creo que para que
haya un keydown debe haber keypress pero no al reves.

Yo controlo la pulsación del enter y el escape así y no me da problema.

procedure TBaseForm.FormKeyPress(Sender: TObject; var Key: char);
begin
  if assigned( Screen.ActiveControl ) then
  begin
    if (Key = #13) then
    begin
      if Screen.ActiveControl.InheritsFrom(TCustomButton) then Exit;

      if Screen.ActiveControl.InheritsFrom(TWinControl) and not
Screen.ActiveControl.InheritsFrom(TCustomMemo) then
      begin
        Key := #0;
        repeat
          SelectNext(Screen.ActiveControl, True, True);
        until (Screen.ActiveControl = nil) or
              (not (Screen.ActiveControl.InheritsFrom(TCustomPage) or
Screen.ActiveControl.InheritsFrom(TCustomNotebook)));
      end;
    end;
  end
  else
    if (Key = #13) then
    begin
      Key := #0;
      SelectNext(nil, True, True);
    end;
end;

Espero que te sirva

El mié, 07-07-2010 a las 12:31 -0300, Paola Bruccoleri escribió:
> Hola José..
> > El "clin" ese creo que te pasa cuando el foco lo tiene un TEdit. No
> > hay mucho que puedas hacer ahora mismo ya que el reasignado de teclas
> > creo que no funciona en ninguna plataforma, de todos modos puedes
> > probar a poner:
> >
> > procedure TfrmNumeradores.FormKeyUp(Sender: TObject; var Key: Word;
> >    Shift: TShiftState);
> > begin
> >    if (key =  VK_ESCAPE) then begin
> >       Key := 0;
> >       close;
> >    end;
> > end;
> >
> >   
> si, ese clin lo hace cuando pasás por algunos controles, como los 
> combos, rx, etc... otros no.
> No me funcionó ese tip que me distes.. lo sigue haciendo igual..
> 
> Así que esto por ej de pasar con enter los controles no funciona en linux?
> Es indispensable para sistemas de gestión, donde se factura sin parar!!!
> chauuuuuuuuuu
> 
> 
> 
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es



________________________________________________________________________

ARTEX TRADING S.A.
José Antonio Cuello Principal







More information about the Lazarus-es mailing list