SELECIONAR BOTAO CONFORME A SETA PRESSIONADA

EMANUEL 15/08/2007 08:23:33
#230938
Pessoal, bom dia!

Tenho 6 botoes em um form, imaginem assim:

Botao1 Botao4
Botao2 Botao5
Botao3 Botao6

dai, queria controlar a navegação, tipo: O foco esta no Botao1, dai se eu usar a seta para direita, fazer com que o Botao4 receba o foco, mas se usar a tecla para baixo, o Botao2 receber o foco.

alguem teria uma ideia?

desde ja agradeço,

Emanuel
RODRIGOMARCHESE 15/08/2007 08:34:24
#230939
vai um exemplo qdo usar a seta para a direita, é só complementar o resto com ElseIf

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If Shift = 0 And KeyCode = 39 Then 'seta direita
Call Botao4_Click
End If

End Sub

MARIOZNETO 15/08/2007 09:04:37
#230945
Não se esqueça da opção:

Keypreview = true


no form

Falow.... T+
USUARIO.EXCLUIDOS 15/08/2007 09:07:44
#230947
A ideia já foi dada, e pra ajudar to te mandando a tabela ASCII pra vc ver os demais códigos.

Sds
MARIOZNETO 15/08/2007 09:12:11
#230950
Citação:

CEL_SUB7 escreveu:
A ideia já foi dada, e pra ajudar to te mandando a tabela ASCII pra vc ver os demais códigos.

Sds




EMANUEL 15/08/2007 09:16:34
#230952
blz...
Valeu galera, obrigado. vou testar e dou um retorno.

sds
Emanuel
EMANUEL 15/08/2007 21:10:09
#231110
Caros colegas,

coloquei o exemplo do Rodrigo da seguinmte forma:


Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 0 And KeyCode = vbKeyRight Then 'seta direita
Command1(3).SetFocus
End If
End Sub


e nao funciona...

mas se eu colocar assim..

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 1 And KeyCode = vbKeyRight Then 'seta direita
Command1(3).SetFocus
End If
End Sub


ai funciona, ou seja, o foco vai para o botao direito que é o que eu quero.
so nao quero é ter que apertar o Shift.

sinceramente nao entendi..o porque...daria pra vc me dar mais uma dica

ja coloquei no formulario o Keypreview=True

obrigado,
Emanuel

USUARIO.EXCLUIDOS 16/08/2007 10:34:43
#231163
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyRight Then 'seta direita
Command1(3).SetFocus
End If
End Sub

tente assim
Tópico encerrado , respostas não são mais permitidas