Jhowcs Postado Janeiro 4, 2009 Denunciar Share Postado Janeiro 4, 2009 Gostaria que quando eu apertasse alguma dessas teclas F1, F2, F3 .... fosse como se eu clicasse nos botões, por exemplo se eu quiser gravar, em vez de eu clicar no botão gravar eu apenas aperto a tecla F2 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Janeiro 4, 2009 Denunciar Share Postado Janeiro 4, 2009 Para fazer isso, você tem duas opções:1. Ir no Menu Editor e criar um botão para cada tecla e definir um atalho para ele, depois chamando-o com o evento NomeDoBotao_Click() (pode até deixar o botão invisível se quiser)2. Fazer via código a partir do evento Form_KeyUp (ou o KeyDown, como queira)Antes de tudo, você tem que descobrir os códigos de cada tecla...Faça algo como isso:Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) MsgBox KeyCode End Sub Depois aperte os botões desejados e salve o código em algum lugar.No caso dos botões F1, F2, F3, [...], os códigos vão do 112 (tecla F1) até o 123 (tecla F12) Após isso, crie o seu código para verificar a tecla Exemplo: Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 112 msgbox("Tecla F1") Case 113 msgbox("Tecla F2") Case 114 msgbox("Tecla F3") Case Else msgbox "Qualquer outra..." End Select End SubQualquer dúvida posta aí ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhowcs Postado Janeiro 5, 2009 Autor Denunciar Share Postado Janeiro 5, 2009 Para fazer isso, você tem duas opções:1. Ir no Menu Editor e criar um botão para cada tecla e definir um atalho para ele, depois chamando-o com o evento NomeDoBotao_Click() (pode até deixar o botão invisível se quiser)2. Fazer via código a partir do evento Form_KeyUp (ou o KeyDown, como queira)Antes de tudo, você tem que descobrir os códigos de cada tecla...Faça algo como isso:Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) MsgBox KeyCode End Sub Depois aperte os botões desejados e salve o código em algum lugar.No caso dos botões F1, F2, F3, [...], os códigos vão do 112 (tecla F1) até o 123 (tecla F12) Após isso, crie o seu código para verificar a tecla Exemplo: Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 112 msgbox("Tecla F1") Case 113 msgbox("Tecla F2") Case 114 msgbox("Tecla F3") Case Else msgbox "Qualquer outra..." End Select End SubQualquer dúvida posta aí !e se eu quiser por exemplo apertar F2 e quiser que o programa grave(como se eu tivesse clicado no botão cmdgravar) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Janeiro 5, 2009 Denunciar Share Postado Janeiro 5, 2009 é so chamar a sub cmdgravar_Click() Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhowcs Postado Janeiro 12, 2009 Autor Denunciar Share Postado Janeiro 12, 2009 Consegui fazer muito obrigado!!!só tem mais uma coisinha....no meu cadastro de cliente existem 3 estados do botõeso 1º- estado inicial todos os controles foram bloqueados, apenas o txtCodigo ficará disponívelnesse apenas o cmdPesquisar e o cmd Sair estarão com o .Enabled=trueIf Status = 1 Then 'estado inicialcmdPesquisar.Enabled = TruecmdGravar.Enabled = FalsecmdCancelar.Enabled = FalsecmdApagar.Enabled = FalsecmdSair.Enabled = True2º- inclusão de registro ElseIf Status = 2 ThencmdPesquisar.Enabled = FalsecmdGravar.Enabled = TruecmdCancelar.Enabled = TruecmdApagar.Enabled = FalsecmdSair.Enabled = False3º-consulta/alteração de registroElseIf Status = 3 ThencmdPesquisar.Enabled = FalsecmdGravar.Enabled = TruecmdCancelar.Enabled = TruecmdApagar.Enabled = TruecmdSair.Enabled = Falseentão é o seguinte dependendo do status bloqueia ou desbloqueia os controles e se caso eu F1 vai abrir o cmdpesquisar mas se por exemplo estiver no Status=3 que o cmdpesquisar esta marcado como false eu quero que não aconteça nada...será que fui claro? qualquer coisa perguntem que eu tento explicar melhor....rs... a minha dúvida. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Janeiro 12, 2009 Denunciar Share Postado Janeiro 12, 2009 quer dizer q você ta chamando o cmdPesquisar_Click quando ele aperta a tecla??se for isso é so você por um if antes de chamar.você pode fazer:If Status <> 3 Then cmdPesquisar_Click ou: If cmdPesquisar.Enabled Then cmdPesquisar_Click Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhowcs Postado Janeiro 12, 2009 Autor Denunciar Share Postado Janeiro 12, 2009 Obrigado Kuroi deu certo.... caso alguém precise ficou assim :Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) If cmdPesquisar.Enabled Then Select Case KeyCode Case 112 cmdPesquisar_Click End Select Else End If If cmdGravar.Enabled Then Select Case KeyCode Case 113 cmdGravar_Click End Select Else End If If cmdCancelar.Enabled Then Select Case KeyCode Case 114 cmdCancelar_Click End Select Else End If If cmdApagar.Enabled Then Select Case KeyCode Case 115 cmdApagar_Click End Select Else End If If cmdSair.Enabled Then Select Case KeyCode Case 27 cmdSair_Click End Select Else End If End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Janeiro 12, 2009 Denunciar Share Postado Janeiro 12, 2009 Só mais uma coisa, para ajudar a tornar sua programação mais "limpa" !Existem uns "else" desnecessários no meio de seu código, além de que você poderia deixar todos os Select Case juntos !Afinal, é para isso que eles servem !Comparam valores de forma mais práticaAo deixar seu código dessa forma você não está aproveitando todo o potencial deles !Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 112 If cmdPesquisar.Enabled Then cmdPesquisar_Click End If Case 113 If cmdGravar.Enabled Then cmdGravar_Click End If Case 114 If cmdCancelar.Enabled Then cmdCancelar_Click End If Case 115 If cmdApagar.Enabled Then cmdApagar_Click End If Case 27 If cmdSair.Enabled Then cmdSair_Click End If End Select End SubMas isso é só pra melhorar a leitura do programa, não irá fazer muita diferença no funcionamento...Qualquer coisa posta aí Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhowcs Postado Janeiro 12, 2009 Autor Denunciar Share Postado Janeiro 12, 2009 Só mais uma coisa, para ajudar a tornar sua programação mais "limpa" !Existem uns "else" desnecessários no meio de seu código, além de que você poderia deixar todos os Select Case juntos !Afinal, é para isso que eles servem !Comparam valores de forma mais práticaAo deixar seu código dessa forma você não está aproveitando todo o potencial deles !Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 112 If cmdPesquisar.Enabled Then cmdPesquisar_Click End If Case 113 If cmdGravar.Enabled Then cmdGravar_Click End If Case 114 If cmdCancelar.Enabled Then cmdCancelar_Click End If Case 115 If cmdApagar.Enabled Then cmdApagar_Click End If Case 27 If cmdSair.Enabled Then cmdSair_Click End If End Select End SubMas isso é só pra melhorar a leitura do programa, não irá fazer muita diferença no funcionamento...Qualquer coisa posta aímuito obrigado !!!!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Jhowcs
Gostaria que quando eu apertasse alguma dessas teclas F1, F2, F3 .... fosse como se eu clicasse nos botões, por exemplo se eu quiser gravar, em vez de eu clicar no botão gravar eu apenas aperto a tecla F2
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.