TROCAR CLICK POR ENTER
Bom Dia
Abaixo coloco parte do código que uso na calculadora, que funciona bem mesmo porque é muito fácil de fazer.
Porem não consegui e não encontrei em lugar nenhum como fazer para ao invés de clicar na tecla eu quero usar o teclado normal, como é feito com a calculadora do windows. Nela eu posso clicar ou digitar. é isso que eu quero.
Eu poderia simplesmente chamar a calculadora do windows, mas eu prefiro fazer.
Private Sub Cmd9_Click()
lblResultado.Caption = lblResultado + [Ô]9[Ô]
End Sub
Private Sub CmdLimpa_Click()
lblResultado.Caption = [Ô][Ô]
End Sub
Private Sub CmdResul_Click()
Select Case operação
Case [Ô]Soma[Ô]
valor = Val(lblResultado) + valor
Case [Ô]Diminuição[Ô]
valor = valor - Val(lblResultado)
Case [Ô]Divisão[Ô]
valor = valor / Val(lblResultado)
Case [Ô]multiplicação[Ô]
valor = valor * Val(lblResultado)
End Select
lblResultado.Caption = Format(valor, [Ô]###,##0.00[Ô])
End Sub
Private Sub cmdSair_Click()
Unload Me
End Sub
Private Sub CmdSoma_Click()
valor = Val(lblResultado)
lblResultado.Caption = [Ô][Ô]
operação = [Ô]Soma[Ô]
End Sub
Se alguem puder ajudar, agradeço
Nereu
Abaixo coloco parte do código que uso na calculadora, que funciona bem mesmo porque é muito fácil de fazer.
Porem não consegui e não encontrei em lugar nenhum como fazer para ao invés de clicar na tecla eu quero usar o teclado normal, como é feito com a calculadora do windows. Nela eu posso clicar ou digitar. é isso que eu quero.
Eu poderia simplesmente chamar a calculadora do windows, mas eu prefiro fazer.
Private Sub Cmd9_Click()
lblResultado.Caption = lblResultado + [Ô]9[Ô]
End Sub
Private Sub CmdLimpa_Click()
lblResultado.Caption = [Ô][Ô]
End Sub
Private Sub CmdResul_Click()
Select Case operação
Case [Ô]Soma[Ô]
valor = Val(lblResultado) + valor
Case [Ô]Diminuição[Ô]
valor = valor - Val(lblResultado)
Case [Ô]Divisão[Ô]
valor = valor / Val(lblResultado)
Case [Ô]multiplicação[Ô]
valor = valor * Val(lblResultado)
End Select
lblResultado.Caption = Format(valor, [Ô]###,##0.00[Ô])
End Sub
Private Sub cmdSair_Click()
Unload Me
End Sub
Private Sub CmdSoma_Click()
valor = Val(lblResultado)
lblResultado.Caption = [Ô][Ô]
operação = [Ô]Soma[Ô]
End Sub
Se alguem puder ajudar, agradeço
Nereu
Acontece que são dois processos iguais em objetos diferentes.
Você pode clicar no botão ou testar o KEYPRESS no text onde está o valor digitado.
Você pode clicar no botão ou testar o KEYPRESS no text onde está o valor digitado.
Boa Noite Edermir
Seguinte testei assim
Private Sub Cmd1_KeyPress(ByVal KeyAscii As Integer)
If KeyAscii = 49 Then
lblResultado.Caption = lblResultado + [Ô]1[Ô]
End If
End Sub
e ai retorna erro [Ô]procedimento de declaração não corresponde à descrição do evento ou procedimento com o mesmo nome[Ô]
que confirma oque tu diz, mas não entedndi oque voce disse ai em cima?
O form não tem text, só uma label que não fica acessÃvel. Eu clico nos cmds e os números e equaçoes vão aparecendo nessa label.
Vou fazer novos testes.
Obrigado
Nereu
Seguinte testei assim
Private Sub Cmd1_KeyPress(ByVal KeyAscii As Integer)
If KeyAscii = 49 Then
lblResultado.Caption = lblResultado + [Ô]1[Ô]
End If
End Sub
e ai retorna erro [Ô]procedimento de declaração não corresponde à descrição do evento ou procedimento com o mesmo nome[Ô]
que confirma oque tu diz, mas não entedndi oque voce disse ai em cima?
O form não tem text, só uma label que não fica acessÃvel. Eu clico nos cmds e os números e equaçoes vão aparecendo nessa label.
Vou fazer novos testes.
Obrigado
Nereu
neste caso voce tera que utilizar o que press do form, habilita a propriedade keyPreview do form e captura as teclas no key press do form.
espero ter ajudado !!!
espero ter ajudado !!!
Obrigado vba
Mas já testei e não resolve.
Mas já testei e não resolve.
Eu montei o form apenas com os butões numericos, funcionando tanto com o Click quanto pelo teclado.
OPS: Editei este tópico excluindo o anexo pois o mesmo estava trocado. Anexo correto no proximo post.
OPS: Editei este tópico excluindo o anexo pois o mesmo estava trocado. Anexo correto no proximo post.
Bom Dia Robio
ë isso mesmo que eu quero. Vou analizar e adaptar na minha calculadora, qualquer coisa retorno.
Obrigado.
Nereu
ë isso mesmo que eu quero. Vou analizar e adaptar na minha calculadora, qualquer coisa retorno.
Obrigado.
Nereu
tenta assim
Private Sub Number_KeyPress(Index As Integer, KeyAscii As Integer)
[ô]*** FAZ LEITURA DE TECLAS PRESSIONADAS ***
If KeyAscii = 61 Then
Operator_Click (4) [ô]Sinal de Igual
ElseIf KeyAscii = 67 Or KeyAscii = 99 Then
Cancel_Click [ô]Botao de Limpar
ElseIf KeyAscii = 37 Then
Percent_Click [ô]Sinal de Porcentagem
ElseIf KeyAscii = 42 Or KeyAscii = 120 Or KeyAscii = 88 Then
Operator_Click (2) [ô]Sinal de Multiplicação
ElseIf KeyAscii = 43 Then
Operator_Click (1) [ô]Sinal de Mais
ElseIf KeyAscii = 45 Then
Operator_Click (3) [ô]Sinal de Igual
ElseIf KeyAscii = 46 Then
Decimal_Click [ô]Ponto decimal
ElseIf KeyAscii = 47 Then
Operator_Click (0) [ô]Sinal de Divisao
ElseIf KeyAscii = 48 Then
Number_Click (0)
ElseIf KeyAscii = 49 Then
Number_Click (1)
ElseIf KeyAscii = 50 Then
Number_Click (2)
ElseIf KeyAscii = 51 Then
Number_Click (3)
ElseIf KeyAscii = 52 Then
Number_Click (4)
ElseIf KeyAscii = 53 Then
Number_Click (5)
ElseIf KeyAscii = 54 Then
Number_Click (6)
ElseIf KeyAscii = 55 Then
Number_Click (7)
ElseIf KeyAscii = 56 Then
Number_Click (8)
ElseIf KeyAscii = 57 Then
Number_Click (9)
End If
End Sub
Private Sub Number_KeyPress(Index As Integer, KeyAscii As Integer)
[ô]*** FAZ LEITURA DE TECLAS PRESSIONADAS ***
If KeyAscii = 61 Then
Operator_Click (4) [ô]Sinal de Igual
ElseIf KeyAscii = 67 Or KeyAscii = 99 Then
Cancel_Click [ô]Botao de Limpar
ElseIf KeyAscii = 37 Then
Percent_Click [ô]Sinal de Porcentagem
ElseIf KeyAscii = 42 Or KeyAscii = 120 Or KeyAscii = 88 Then
Operator_Click (2) [ô]Sinal de Multiplicação
ElseIf KeyAscii = 43 Then
Operator_Click (1) [ô]Sinal de Mais
ElseIf KeyAscii = 45 Then
Operator_Click (3) [ô]Sinal de Igual
ElseIf KeyAscii = 46 Then
Decimal_Click [ô]Ponto decimal
ElseIf KeyAscii = 47 Then
Operator_Click (0) [ô]Sinal de Divisao
ElseIf KeyAscii = 48 Then
Number_Click (0)
ElseIf KeyAscii = 49 Then
Number_Click (1)
ElseIf KeyAscii = 50 Then
Number_Click (2)
ElseIf KeyAscii = 51 Then
Number_Click (3)
ElseIf KeyAscii = 52 Then
Number_Click (4)
ElseIf KeyAscii = 53 Then
Number_Click (5)
ElseIf KeyAscii = 54 Then
Number_Click (6)
ElseIf KeyAscii = 55 Then
Number_Click (7)
ElseIf KeyAscii = 56 Then
Number_Click (8)
ElseIf KeyAscii = 57 Then
Number_Click (9)
End If
End Sub
Wanderson, Obrigado pela dica.
Tentei assim como teste:
defini a tecla 1 na minha calc como number e index 1
Private Sub Number_KeyPress(Index As Integer, KeyAscii As Integer)
[ô]*** FAZ LEITURA DE TECLAS PRESSIONADAS ***
If KeyAscii = 49 Then
number_Click (1)
End If
End Sub
retornou erro [Ô]função não definida[Ô] sinalizando na linha sublinhada acima
entao defini a sub assim:
Private Sub number_Click()
lblResultado.Caption = lblResultado + [Ô]1[Ô]
End Sub
retornou erro [Ô]procedimento de declaração não corresponde à descrição do evento ou procedimento com o mesmo nome[Ô]
vou tentando
Obrigado
Nereu
Tentei assim como teste:
defini a tecla 1 na minha calc como number e index 1
Private Sub Number_KeyPress(Index As Integer, KeyAscii As Integer)
[ô]*** FAZ LEITURA DE TECLAS PRESSIONADAS ***
If KeyAscii = 49 Then
number_Click (1)
End If
End Sub
retornou erro [Ô]função não definida[Ô] sinalizando na linha sublinhada acima
entao defini a sub assim:
Private Sub number_Click()
lblResultado.Caption = lblResultado + [Ô]1[Ô]
End Sub
retornou erro [Ô]procedimento de declaração não corresponde à descrição do evento ou procedimento com o mesmo nome[Ô]
vou tentando
Obrigado
Nereu
Segue arquvo correto. Fiz um código bem pequeno e fácil de entender.
Bom Dia Robiu
Beleza. Deu certo como eu queria.
Obrigado.
Nereu
Beleza. Deu certo como eu queria.
Obrigado.
Nereu
Tópico encerrado , respostas não são mais permitidas