TROCAR CLICK POR ENTER

NEREU1301 12/05/2010 11:21:57
#341567
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
EDERMIR 12/05/2010 18:38:10
#341614
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.
NEREU1301 12/05/2010 20:58:47
#341618
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
VBAPRENDE 12/05/2010 22:22:42
#341623
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 !!!
NEREU1301 12/05/2010 22:43:37
#341624
Obrigado vba

Mas já testei e não resolve.
ROBIU 12/05/2010 23:49:36
#341626
Resposta escolhida
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.
NEREU1301 13/05/2010 07:59:23
#341632
Bom Dia Robio

ë isso mesmo que eu quero. Vou analizar e adaptar na minha calculadora, qualquer coisa retorno.

Obrigado.

Nereu
INFOSISTEMAS 13/05/2010 09:51:58
#341648
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
NEREU1301 13/05/2010 10:34:04
#341653
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
ROBIU 13/05/2010 13:59:57
#341676
Segue arquvo correto. Fiz um código bem pequeno e fácil de entender.
NEREU1301 14/05/2010 10:38:04
#341756
Bom Dia Robiu

Beleza. Deu certo como eu queria.

Obrigado.

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