MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    [Resolvido]Movimentação de setas

    avatar
    Maria José Soares
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 290
    Registrado : 23/11/2011

    [Resolvido]Movimentação de setas Empty [Resolvido]Movimentação de setas

    Mensagem  Maria José Soares 16/6/2012, 19:25

    Gente boa tarde!!!

    Eu tenho um formulário com as seguintes opções:


    [Resolvido]Movimentação de setas Capturarjc



    Eu queria saber se tem como eu utilizar as setas de navegação "cima, baixo, esquerda, e direita" através do código keycodes, assim como se eu quisesse abrir uma opção eu clicaria em enter e a opção que quizesse abrisse...
    Lembrando que elas são feitas de rótulos e quando eu passo o mouse em cima de cada opção ela dá um efeito de selecionado... Tem como fazer essa proêza...

    bjs
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Movimentação de setas Empty Re: [Resolvido]Movimentação de setas

    Mensagem  criquio 16/6/2012, 20:08

    É possível fazer com botões, que possui a opção ActiveControl e eventos como "Ao receber foco", coisa que rótulos não possui e dificulta a façanha. Uma saída pode ser colocar botões com as propriedades de fundo transparente e transparência = Sim. Esse botões ficariam em cima dos labels e se utilizaria os evento "Ao receber foco" e "Ao perder foco" para chamar a função usada nos labels. Dessa forma, você pode utilizar as setas normalmente que os botões já recebem o foco.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Maria José Soares
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 290
    Registrado : 23/11/2011

    [Resolvido]Movimentação de setas Empty Movimentação de setas

    Mensagem  Maria José Soares 17/6/2012, 00:28

    Blz então meu querido... Muuuuuuuuito obrigado pela dica... mas me diga, como assim active control, eu não entendi... bjs
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Movimentação de setas Empty Re: [Resolvido]Movimentação de setas

    Mensagem  criquio 17/6/2012, 02:56

    ActiveControl é uma propriedade de controle ativo que alguns deles possui. Utilizando essa propriedade, podemos retornar o dado do controle que estiver ativo no momento, ou seja, que tiver o foco. Labels não possuem essa propriedade porque ele não recebe o foco como uma textbox, combobox, listbox, botões, etc. Um exemplo: se você colocar no evento "Ao clicar" de um botão Msgbox Me.ActiveControl.Caption, será mostrado o texto do botão. Se colocar MsgBox Me.ActiveControl.Name, será exibido o nome do botão quando você clicar nele. Isso é útil para ser usado em uma função para que possa ser utilizado o controle atual, que tem o foco, seja ele qual for. Tambem existe o Screen.ActiveControl que pode ser utilizado em funções públicas de modo a poder chamá-la para qualquer controle. Isso pode ser utilizado tambem para formulários, relatórios, etc, como Screen.ActiveForm por exemplo. Mas isso que estou falando é só a título de informação mesmo, hehehe.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Bão
    Bão
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 04/05/2011

    [Resolvido]Movimentação de setas Empty Re: [Resolvido]Movimentação de setas

    Mensagem  Bão 17/6/2012, 03:11

    Desculpe se estou falando besteira...

    Mas o simples muitas vezes é a melhor solução...

    Eu usaria uma caixa de listagem com um evento "ao apertar tecla"... no caso o enter vinculado a cada item da lista...

    Vou ver se preparo algo assim e posto depois...

    rabbit
    avatar
    Convidado
    Convidado


    [Resolvido]Movimentação de setas Empty Re: [Resolvido]Movimentação de setas

    Mensagem  Convidado 17/6/2012, 03:51

    Pode tambem renomear os rótulos com valores... 1,2,3,4,5
    E no evento do apertar da seta... uma verificaão do nome do rotulo, se seta pra baixo NomedoRotulo + 1 Levando o foco para o seguinte
    e seja pra cima NomeDoROtulo -1 nos Primeiro e no ultimo se apertar a tecla mais uma vez daria erro, ai se faria um tratamento
    avatar
    Convidado
    Convidado


    [Resolvido]Movimentação de setas Empty Re: [Resolvido]Movimentação de setas

    Mensagem  Convidado 17/6/2012, 05:49

    Eis algo

    Lembrando que os rotulos são nomeados lb1, lb2, lb3 etc...
    E a variável utilizada é uma variável global


    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    On Error GoTo TrataErro
    If KeyCode = 40 Then
    If IsNull(StrObj) = True Then
    StrObj = Val(0)
    Else
    Me("lb" & StrObj).ForeColor = vbBlack
    StrObj = StrObj + Val(1)
    Me("lb" & StrObj).ForeColor = vbRed

    End If
    End If

    If KeyCode = 38 Then
    If IsNull(StrObj) = True Then
    StrObj = Val(0)
    Else
    Me("lb" & StrObj).ForeColor = vbBlack
    StrObj = StrObj - Val(1)
    Me("lb" & StrObj).ForeColor = vbRed

    End If
    End If
    Exit Sub
    Exit_TrataErro:
    DoCmd.Hourglass False
    DoCmd.Echo True
    Exit Sub

    TrataErro:
    If Err.Number = 2465 Then
    Resume Next
    Else
    DoCmd.Hourglass False
    DoCmd.Echo True
    Msg = "Erro # " & Str(Err.Number) & " gerado na " & Err.Source _
    & vbNewLine & vbNewLine & "Descrição: " & Err.Description _
    & vbNewLine & vbNewLine & "Por favor contate o Administrador de Sistema."
    MsgBox Msg, vbMsgBoxHelpButton + vbCritical, "Erro", Err.HelpFile, Err.HelpContext
    Resume Exit_TrataErro
    End If
    End Sub



    Cumprimentos.
    avatar
    Maria José Soares
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 290
    Registrado : 23/11/2011

    [Resolvido]Movimentação de setas Empty movimentação de setas

    Mensagem  Maria José Soares 18/6/2012, 03:03

    BOa noite piloto!!!

    Eu queria entender em que momento entraria o evento nos rótulos. Penso que o código em questão seria em um módulo global. É isso? bjs
    avatar
    Convidado
    Convidado


    [Resolvido]Movimentação de setas Empty Re: [Resolvido]Movimentação de setas

    Mensagem  Convidado 18/6/2012, 03:51

    https://dl.dropbox.com/u/26441349/MariaJose.rar

    Cumprimentos.
    avatar
    Maria José Soares
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 290
    Registrado : 23/11/2011

    [Resolvido]Movimentação de setas Empty movimentação de setas

    Mensagem  Maria José Soares 18/6/2012, 05:15

    Cara muito bom, só tenho que pensar na maneira de usar o KeyCode 13 para abrir um formuário através do rótulo que eu clicar enter... tem jeito??? Valeu piloto... bjs
    avatar
    Convidado
    Convidado


    [Resolvido]Movimentação de setas Empty Re: [Resolvido]Movimentação de setas

    Mensagem  Convidado 18/6/2012, 14:22

    Seus "Probremas" se acabaram-se... as organizações tabajara encontraram a solution... heheheh


    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    On Error GoTo TrataErro
    If KeyCode = 40 Then
    If IsNull(StrObj) = True Then
    StrObj = Val(0)
    Else
    Me("lb" & StrObj).ForeColor = vbBlack
    StrObj = StrObj + Val(1)
    Me("lb" & StrObj).ForeColor = vbRed
    KeyCode = 0
    End If
    End If

    If KeyCode = 38 Then
    If IsNull(StrObj) = True Then
    StrObj = Val(0)
    Else
    Me("lb" & StrObj).ForeColor = vbBlack
    StrObj = StrObj - Val(1)
    Me("lb" & StrObj).ForeColor = vbRed
    KeyCode = 0
    End If
    End If

    If KeyCode = 13 Then
    If Me("lb" & StrObj).Caption = "Rotulo 1" Then
    MsgBox "Abra Form 1"
    ElseIf Me("lb" & StrObj).Caption = "Rotulo 2" Then
    MsgBox "Abra Form 2"
    ElseIf Me("lb" & StrObj).Caption = "Rotulo 3" Then
    MsgBox "Abra Form 3"
    ElseIf Me("lb" & StrObj).Caption = "Rotulo 4" Then
    MsgBox "Abra Form 4"
    ElseIf Me("lb" & StrObj).Caption = "Rotulo 5" Then
    MsgBox "Abra Form 5"
    End If
    KeyCode = 0
    End If
    Exit Sub
    Exit_TrataErro:
    DoCmd.Hourglass False
    DoCmd.Echo True
    Exit Sub

    TrataErro:
    If Err.Number = 2465 Then
    Resume Next
    Else
    DoCmd.Hourglass False
    DoCmd.Echo True
    Msg = "Erro # " & Str(Err.Number) & " gerado na " & Err.Source _
    & vbNewLine & vbNewLine & "Descrição: " & Err.Description _
    & vbNewLine & vbNewLine & "Por favor contate o Administrador de Sistema."
    MsgBox Msg, vbMsgBoxHelpButton + vbCritical, "Erro", Err.HelpFile, Err.HelpContext
    Resume Exit_TrataErro
    End If
    End Sub



    Abraços.



    avatar
    Convidado
    Convidado


    [Resolvido]Movimentação de setas Empty Re: [Resolvido]Movimentação de setas

    Mensagem  Convidado 18/6/2012, 14:40

    http://maximoaccess.forumeiros.com/t8197-navegar-em-rotulos-utilizando-as-setas-e-abrindo-form-s-ao-apertar-enter#66496

    Cumprimentos.
    avatar
    Maria José Soares
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 290
    Registrado : 23/11/2011

    [Resolvido]Movimentação de setas Empty movimentação de setas

    Mensagem  Maria José Soares 19/6/2012, 03:06

    Muito bem meu garoto... parabens!!! Vcs são demais mesmo... era isso mesmo que eu queria... Valeu mesmo pela ótima dica viu Piloto... bjs...
    avatar
    Convidado
    Convidado


    [Resolvido]Movimentação de setas Empty Re: [Resolvido]Movimentação de setas

    Mensagem  Convidado 19/6/2012, 03:23

    O Fórum agradece o retorno.

    Bom trabalho.

    Conteúdo patrocinado


    [Resolvido]Movimentação de setas Empty Re: [Resolvido]Movimentação de setas

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 05:34