Descrição:
Em uma aplicação, quando um operador digita um número utilizando um ponto como um símbolo decimal, esse ponto é suprimido e o SetPoint assume o valor como um número inteiro, pois o Windows está configurado para usar a vírgula como símbolo decimal.
Para evitar esse comportamento, como impedir que o operador digite um ponto em um SetPoint?
Solução:
Para isso, deve-se utilizar a função SendKeys do VBScript no evento KeyDown do SetPoint para apagar automaticamente o ponto. Ainda pode-se configurar para exibir uma mensagem informando que a vírgula deve ser utilizada ao invés do ponto. Por exemplo:
Sub Text1_KeyDown(KeyCode, Shift)
'KeyCode = 194 (ponto do teclado numérico)
'KeyCode = 190 (ponto do teclado alfanumérico)
if KeyCode = 190 or KeyCode = 194 then
set WshShell = CreateObject("WScript.Shell")
MsgBox "Utilize a vírgula em vez do ponto como símbolo decimal."
WshShell.SendKeys "{BACKSPACE}"
end if
End Sub