[Lazarus-es] ruidito

Maxi maximiliano.duarte en gmail.com
Mie Jul 7 18:57:40 CEST 2010


El 7 de julio de 2010 12:42, José Antonio Cuello
<josea en artextrading.com>escribió:

> 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
>
>
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>


Se soluciona asignadno #0 o 0 a la key segun que evento llames, para que el
evento heredado no siga su curso.

-- 
Twitter: @nenunocomar
Maximiliano Duarte
Linux User #495070
Ubuntu User #28504
http://miexperiencialinux.blogspot.com/

El que pregunta aprende, y el que contesta aprende a responder.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20100707/bf947104/attachment-0002.html>


More information about the Lazarus-es mailing list