SELECIONAR BOTAO CONFORME A SETA PRESSIONADA
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
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
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
Não se esqueça da opção:
no form
Falow.... T+
Keypreview = true
no form
Falow.... T+
A ideia já foi dada, e pra ajudar to te mandando a tabela ASCII pra vc ver os demais códigos.
Sds
Sds
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
blz...
Valeu galera, obrigado. vou testar e dou um retorno.
sds
Emanuel
Valeu galera, obrigado. vou testar e dou um retorno.
sds
Emanuel
Caros colegas,
coloquei o exemplo do Rodrigo da seguinmte forma:
e nao funciona...
mas se eu colocar assim..
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
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
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
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