Activex textnum / ajout de la propriété enabled

Soyez le premier à donner votre avis sur cette source.

Vue 3 607 fois - Téléchargée 19 680 fois

Description

Aucune description n'est fournie pour ce projet

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58 -
aïe ! des trucs me derangent serieusement , fais le test suivant :
- tu tapes 123 , tu places le curseur de saie en plein milieu et tu tapes Abc.......
- ou bien un copier coller, même !!!
- Si je veux inserer ton controle dans un projet qui.... charge des données, par exemple, je ne peux modifier la valeur contenue !! (.Value=16) !!
------------------------------------------------------------------------------
non, ce qu'il te faut faire, c'est :

Private Sub TextNum_KeyPress(KeyAscii As Integer)
'permet d'effectuer des copier coller
If KeyAscii 22 Or KeyAscii 3 Or KeyAscii = 24 Then Exit Sub

'pour s'amuser avec la virgule... essaye !!
If KeyAscii Asc(".") Or KeyAscii Asc(",") Then
a = TextNum.SelStart
TextNum.Text = Replace(TextNum.Text, ".", vbNullString)
TextNum.Text = Replace(TextNum.Text, ",", vbNullString)
TextNum.SelStart = a
Else
'si ce n'est pas un chiffre , met 0, la touche est ignorée
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then KeyAscii = 0
End If
End Sub

Private Sub TextNum_Change() 'Filtre à saisie numérique
On Error Resume Next
Dim Txt As String
'on ôte les virgules
Txt = Replace(TextNum.Text, ".", vbNullString)
Txt = Replace(Txt, ",", vbNullString)
If IsNumeric(Txt) Then
RaiseEvent Change
Else
TextNum.Text = 0
TextNum.SelStart = 1
End If
End Sub

Public Property Let Value(new_Value As Variant)
'on mémorise l'ancienne valeur
'on affecte la nouvelle, si celle-ci a été enlevée par les autres tests, on remet l'ancienne
'cela signifie en effet que la chaine n'est pas valide....
Dim oldValue As Long
oldValue = TextNum.Text
TextNum.Text = new_Value
If TextNum.Text <> new_Value Then
TextNum.Text = oldValue
End If
End Property

'Lecture propriété texte
Public Property Get Value()
Value = TextNum.Text
End Property

-----------------------------------------------------------------------------

bon, cote virgules, il faudrait ajouter dans mon code la verification que sur un copier coller, on ajoutes pas qqchose avec quatres virgules. Il faudrait egalement pouvoir mettre .5 et que ca soit transformé en 0.5
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58 -
content que tu aies apportés des modifs , certaines choses me gènent toujours un peu pourtant

- pourquoi on a un textbox vide parfois, au lieu d'un 0
- ce que tu as fais avec le backspace pars d'une bonne idée, mais appliqué comme cela, ca prouve que tu n'as pas bien saisi l'interet de la chose !!

meme remarque que ce matin !! si tu place le curseur en plein milue, et que tu appuies sur Backspace, ca deconne , et c'est normal !

met plutot ca.....
Private Sub TextNum_KeyPress(KeyAscii As Integer)
'BackSpace
If KeyAscii = 8 Then Exit Sub
'permet d'effectuer des copier coller
If KeyAscii 22 Or KeyAscii 3 Or KeyAscii = 24 Then Exit Sub

enfin, la propriété Texte devient obsolete, vue que tu as la propriete Value

et puis, il faudrais ajouter dans les propbags.... cette propriété Value...

j'ai vu que tu remplacait virgules par point , pense a faire le necesaire si on copie colle......


voila, je pense que ces remarques pourront t'etre profitables.....
langju
Messages postés
88
Date d'inscription
mardi 6 février 2001
Statut
Membre
Dernière intervention
27 juillet 2007
-
Je connais ce code source ;-)

Il est tiré d'un livre de Micro Application Poche "Visual Basic 6"

@+
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58 -
le concept, sans doute, mais tel que programmé, je l'ignores, et puis les modifications qu'il a apportées sur mon conseil, en font quelque chose de different. Le tout c'est que l'auteur ai appris...
langju
Messages postés
88
Date d'inscription
mardi 6 février 2001
Statut
Membre
Dernière intervention
27 juillet 2007
-
Of course le but de ce site est l'apprentissage !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.