|
***********************************************************
# EMPÊCHER LA SAISIE DE CARACTERES SPECIFIQUES #1
***********************************************************
Private Sub txtchiffre_KeyPress(KeyAscii
As Integer)
' N'autorise que la saisie de chiffres
If InStr("0123456789",
Chr(KeyAscii)) = 0 Then KeyAscii
= 0
End Sub
Toute touche a son propre code
ASCII. Le mot cléKeyascii nous le donnant, on
peut aisément savoir quelle touche a étépressée. La fonction Chr convertit un code ASCII
en son caractère correspondant. Ainsi le caractère
tapéest comparéaux chiffres 0123456789,
et s'il n'y ne correspond àaucun d'eux, le caractère
est tout simplement effacéàl'aide de l'instruction
Keyascii = 0.
Vous pouvez trouver le code ASCII de chaque caractère
dans l'aide de VB.
***********************************************************
# SUPPRESSION DU BIP LORSQUE L'ON PRESSE LA TOUCHE ENTREE
#2
***********************************************************
Private Sub txtbox_KeyPress(KeyAscii
As Integer)
' L'utilisateur appuie sur la touche
entrée
If Keyascii = 13 Then
KeyAscii = 0
End Sub
Un des défauts de la touche
entrée, c'est que lorsque le focus se trouve sur
un TextBox, un bip se fait entendre (son par défaut
dans le Menu Sons du panneau de configuration). En interceptant
l'appui de la touche Entrée, on peut supprimer
ce son par l'instruction Keyascii = 0. Le caractère
étant supprimé, l'effet est le même
que si personne n'avait appuyésur la touche. Evidemment,
rien ne vous empêche de continuer la boucle If pour
valider un password par exemple, l'instruction qui devait
être vérifiée ne l'étant qu'une
fois.
************************************************************
# SELECTION DE CARACTERES #3
************************************************************
Private
Sub txtpass_KeyPress(KeyAscii As
Integer)
If
KeyAscii = 13 Then
If txtpass.Text
= "CYBERATOM"Then
' Mot de
passe correct
Else
' Mot de
passe incorrect
MsgBox "Mot de passe incorrect
! "&vbCrLf &"Veuillez recommencer
!", vbCritical, "Erreur"
' Selection
de toutes les caractères
txtpass.SelStart = 0
txtpass.SelLength = Len(txtpass)
End If
End If
End Sub
Ici, on a un TextBox (PasswordChar
= "*") oùl'on attend un mot de passe.
Le mot de passe est validéquand l'utilisateur
appuie sur la touche Entrée. Si le mot de passe
est incorrect, toute la chaîne de caractère
àl'intérieur du TextBox est sélectionnée,
afin que l'utilisateur ne soit pas obligéd'appuyer
x fois sur la touche BackSpace. Dès la nouvelle
saisie d'un caractère, l'ancien texte sera automatiquement
supprimé.
************************************************************
# CHANGEMENT DE TEXTE AU SURVOL DU CURSEUR #4
************************************************************
Private Sub Form_MouseMove(Button As
Integer, Shift As Integer,
X As Single, Y As
Single)
txtmove.FontBold = False
End Sub
Private Sub txtmove_MouseMove(Button
As Integer, Shift As
Integer, X As Single,
Y As Single)
txtmove.BackColor = txtmove.FontBold = False
End Sub
Au passage de la souris sur le
contrôle, l'événement MouseMove est
déclenché. Dans notre cas, le texte devient
gras. Lorsque le souris quitte la zone de texte, le texte
redevient normal. L'événement "MouseOut"n'existant pas, on utilise le MouseMove de la feuille,
ce qui revient au même : si le curseur de la souris
se trouve sur la feuille, cela signifie qu'il a quittéla zone de texte bien évidemment.
|