Backspace

Signaler
Messages postés
77
Date d'inscription
jeudi 26 avril 2007
Statut
Membre
Dernière intervention
27 février 2014
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
Salut les amis,


j'ai une zone de texte en VB6. je veux que l'utilisateur lis seulement son contenu. je détecte les codes des touches dans l'évenement keydown et je met le keycode à 0.


par exemple pour eviter la suppression à l'aide de la touche Suppr je fais: If keycode 46 then keycode 0


mais le probleme c que la touche backspace je n'ai pas pu l'annuler en faisant if keycode 8  then keycode 0

est ce que quelqu'un connait la solution de ce petit probleme?

merci

10 réponses

Messages postés
14675
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
4 juillet 2020
143
Bonjour

Met la propriété Locked à True.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Salut,

sauvegardes le contenu du TextBox dans son Tag

Sub TextBox_Validate(Cancel As Boolean)
TextBox.Tag=TextBox.Text
End Sub

Dans KeyPress et/ou KeyDown
If KeyCode=8 Then TextBox.Text=TextBox.Tag
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
remarque:
Dans KeyPress, tu testes sur KeyAscii = 8
et dans KeyDown sur KeyCode="{vbkeybackspace}"
Messages postés
77
Date d'inscription
jeudi 26 avril 2007
Statut
Membre
Dernière intervention
27 février 2014
2
Merci a vous,
C bon, j'ai trouvé la solution, en fait c cdans l'évenement keypress; je teste si égal à 8 je le met égal à 0If KeyAscii 8 then KeyAscii 0
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
22
Bonjour, LBRE_MAX ,

Et moi (avec ta méthode), j'arrive en me léchant les babines diaboliquement et ... fais dans la textbox un joli coller de ce que j'ai copié n'importe ou ailleurs....
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Salit Marqués,

et moi j' arrive à savoir si une touche a été pressé ou pas...
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Pardon.!
Salut Marqués
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
GBaldy,
Je crois qu' avec BackSpace même avec KeyAscii =0, le mal sera déjà fait.
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Autant pour moi !
c' est avec Delete que tu ne peut pas em^$echer la modif.
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
22
La solution "orthodoxe" est celle qu'a donné NHenry.

Si l'on veut de surcroit vraiment tout empêcher (y compris la modification par code ... mais ... dans quelles circonstances ? ... je me demande bien ...), ce serait l'évènement Change qu'il faudrait utiliser !

Genre

Dim hehe As String

Private Sub Form_Load()
  hehe = Text1.Text
End Sub



Private Sub Text1_Change()
  Text1.Text = hehe
End Sub


Mais (une autre fois) : prendre la solution bien plus r(aisonnable de NHenry