[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