Setas do teclado.....................URGENTE
Caros colegas estou com o seguinte problema;
eu tenho um banco de dados e coloquei ele num form... a rotina de
fazer que o ENTER mude o focu eu sei é;
if key=#13 then
begin
dbedit2.setfocus;
key:=0;
end;
mas eu quero saber como eu faço para quando eu der ENTER e ele mudar
o focu, eu pressionar as setas do teclado e ele voltar para o campo novamente ate mesmo os que eu ja dei ENTER.....
eu tenho um banco de dados e coloquei ele num form... a rotina de
fazer que o ENTER mude o focu eu sei é;
if key=#13 then
begin
dbedit2.setfocus;
key:=0;
end;
mas eu quero saber como eu faço para quando eu der ENTER e ele mudar
o focu, eu pressionar as setas do teclado e ele voltar para o campo novamente ate mesmo os que eu ja dei ENTER.....
Anonymous
Curtidas 0
Respostas
Aroldo Zanela
18/03/2003
[quote:0ccdf7bf52=´Gerson S. Livio´]Caros colegas estou com o seguinte problema;
eu tenho um banco de dados e coloquei ele num form... a rotina de
fazer que o ENTER mude o focu eu sei é;
if key=#13 then
begin
dbedit2.setfocus;
key:=0;
end;
mas eu quero saber como eu faço para quando eu der ENTER e ele mudar
o focu, eu pressionar as setas do teclado e ele voltar para o campo novamente ate mesmo os que eu ja dei ENTER.....[/quote:0ccdf7bf52]
Subir e descer com teclas:
Trocar o tab por enter:
eu tenho um banco de dados e coloquei ele num form... a rotina de
fazer que o ENTER mude o focu eu sei é;
if key=#13 then
begin
dbedit2.setfocus;
key:=0;
end;
mas eu quero saber como eu faço para quando eu der ENTER e ele mudar
o focu, eu pressionar as setas do teclado e ele voltar para o campo novamente ate mesmo os que eu ja dei ENTER.....[/quote:0ccdf7bf52]
Subir e descer com teclas:
FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin Case Key of VK_DOWN: Perform( WM_NEXTDLGCTL, 0, 0 ); VK_UP: Perform( WM_NEXTDLGCTL, 0, 1 ); end; end;
Trocar o tab por enter:
FormKeyPress(Sender: TObject; var Key: Char); begin if Key = 13 then if not (ActiveControl is TDBGrid) then begin Key := #0; Perform(WM_NEXTDLGCTL, 0, 0); end else if (ActiveControl is TDBGrid) then with TDBGrid(ActiveControl) do if selectedindex < (fieldcount -1) then selectedindex := selectedindex +1 else selectedindex := 0; end;
GOSTEI 0
Anonymous
18/03/2003
use assim
para o enter no evento keypress
if Key = #13 then begin;
Key := 0;
Perform(Wm_NextDlgCtl,0,0);
end;
que ele automaticamente aceitará para todos os componentes
paras as setas no evento keydown (seta para cima)
if Key = 38 then Perform(Wm_NextDlgCtl,-1,0);
para o enter no evento keypress
if Key = #13 then begin;
Key := 0;
Perform(Wm_NextDlgCtl,0,0);
end;
que ele automaticamente aceitará para todos os componentes
paras as setas no evento keydown (seta para cima)
if Key = 38 then Perform(Wm_NextDlgCtl,-1,0);
GOSTEI 0