Fórum Número das Setas Direcionais #169260
14/07/2003
0
Gostaria de saber quais os números das setas direcionais, pois preciso colocar no evento OnKeyPress de uma DBGrid para realizar consultas navegando entre os registros, para evitar q o usuário utilize o mouse.
Grato,
Ilano.
Ilanocf
Curtir tópico
+ 0Posts
14/07/2003
Oberdan
if key = vk_up //pra cima
vk_down //pra baixo
vk_left //pra esquerda
vk_right // pra direita
[]
Oberdan :!:
Gostei + 0
14/07/2003
Ilanocf
If key = vk_up Then
Begin
If RadioGroup1.ItemIndex = 0 Then
Begin
DMDados.ConsLivros.Close;
DMDados.ConsLivros.SQL.Clear;
DMDados.ConsLivros.SQL.Add(´SELECT * FROM TBLivros WHERE TituloDaObra LIKE:P1 ORDER BY TituloDaObra´);
DMDados.ConsLivros.ParamByName(´P1´).Value:=Edit1.Text + ´¬´;
DMDados.ConsLivros.Open;
DMDados.Relacao.Close;
DMDados.Relacao.SQL.Clear;
DMDados.Relacao.SQL.Add(´SELECT * FROM TBAutores WHERE CodigoDoLivro=:T´);
DMDados.Relacao.ParamByName(´T´).Value:=StrToIntDef(DBEdit1.Text, 0);
DMDados.Relacao.Open
End
Else
If RadioGroup1.ItemIndex = 1 Then
Begin
DMDados.ConsLivros.Close;
DMDados.ConsLivros.SQL.Clear;
DMDados.ConsLivros.SQL.Add(´SELECT * FROM TBLivros WHERE ISBN LIKE:P1 ORDER BY TituloDaObra´);
DMDados.ConsLivros.ParamByName(´P1´).Value:=´¬´+Edit1.Text + ´¬´;
DMDados.ConsLivros.Open;
DMDados.Relacao.Close;
DMDados.Relacao.SQL.Clear;
DMDados.Relacao.SQL.Add(´SELECT * FROM TBAutores WHERE CodigoDoLivro=:T´);
DMDados.Relacao.ParamByName(´T´).Value:=StrToIntDef(DBEdit1.Text, 0);
DMDados.Relacao.Open;
End
End
Else
If key = vk_down Then
Begin
If RadioGroup1.ItemIndex = 0 Then
Begin
DMDados.ConsLivros.Close;
DMDados.ConsLivros.SQL.Clear;
DMDados.ConsLivros.SQL.Add(´SELECT * FROM TBLivros WHERE TituloDaObra LIKE:P1 ORDER BY TituloDaObra´);
DMDados.ConsLivros.ParamByName(´P1´).Value:=Edit1.Text + ´¬´;
DMDados.ConsLivros.Open;
DMDados.Relacao.Close;
DMDados.Relacao.SQL.Clear;
DMDados.Relacao.SQL.Add(´SELECT * FROM TBAutores WHERE CodigoDoLivro=:T´);
DMDados.Relacao.ParamByName(´T´).Value:=StrToIntDef(DBEdit1.Text, 0);
DMDados.Relacao.Open
End
Else
If RadioGroup1.ItemIndex = 1 Then
Begin
DMDados.ConsLivros.Close;
DMDados.ConsLivros.SQL.Clear;
DMDados.ConsLivros.SQL.Add(´SELECT * FROM TBLivros WHERE ISBN LIKE:P1 ORDER BY TituloDaObra´);
DMDados.ConsLivros.ParamByName(´P1´).Value:=´¬´+Edit1.Text + ´¬´;
DMDados.ConsLivros.Open;
DMDados.Relacao.Close;
DMDados.Relacao.SQL.Clear;
DMDados.Relacao.SQL.Add(´SELECT * FROM TBAutores WHERE CodigoDoLivro=:T´);
DMDados.Relacao.ParamByName(´T´).Value:=StrToIntDef(DBEdit1.Text, 0);
DMDados.Relacao.Open;
End;
End;
Quero q ao passar para o próximo registro ele permaneça lá e realize a consulta e não voltar sempre para o primeiro registro.
Gostei + 0
15/07/2003
Sandra
Ilano,
Key =
37 : para esquerda;
38 : para cima;
39 : para direita;
40 : para baixo.
Tente dessa maneira:
- coloque seu código no OnKeyDown do DBGrid
OU
- no OnKeyPress do form (alterar o KeyPreview para True).
Boa sorte!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)