JoePatent
Messages postés171Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention20 juillet 2008 6 juil. 2004 à 00:33
checked est une constante qui contient une valeur numerique non ? 0 ou 1 selon que c'est check ou non... ?
Je ne l'ai pas tester remarque....
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 6 juil. 2004 à 00:18
oui et non..... ce n'est pas un type Boolean.....
ca echouera au premier test If Value = Checked
JoePatent
Messages postés171Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention20 juillet 2008 5 juil. 2004 à 20:27
Private Sub Fond_case_Click()
Value IIF ( m_Value Checked , Unchecked , Checked)
End Sub
Private Sub Fond_case_Click()
Value = not m_Value
End Sub
Il s'agit d'un simple toggle.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 5 juil. 2004 à 14:23
"Quelques" remarques...
changes la taille du controle en mode Edition : c'est la taille qu'aura le controle quand tu l'insère par un double click sur son bouton dans la barre d'outils (il est bien trop grand !)
If m_Value = Unchecked Then
Ch_Red.Visible = False
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = False
ElseIf m_Value = Grayed Then
Ch_Red.Visible = False
Ch_Red_grayed.Visible = True
Ch_Red_grayedX.Visible = False
ElseIf m_Value = GrayedX Then
Ch_Red.Visible = False
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = True
ElseIf m_Value = Checked Then
Ch_Red.Visible = True
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = False
ElseIf m_Value = Frozen Then
Ch_Red.Visible = False
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = False
ElseIf m_Value = FrozenX Then
Ch_Red.Visible = True
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = False
End If
Il serait bien mieux d'utiliser un Select Case :
Select Case m_Value
Case Unchecked :
Ch_Red.Visible = False
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = False
Case Grayed :
Ch_Red.Visible = False
Ch_Red_grayed.Visible = True
Ch_Red_grayedX.Visible = False
…
End Select
Il serait plus opportun de définir les valeurs initiales de tes propriétés dans InitProperties.... qui ne sera appelée que si necessaire !
Ce genre de code est douteux également ;)
Private Sub Fond_case_Click()
If m_Value = Checked Then
Value = Unchecked
Exit Sub
End If
If m_Value = Unchecked Then
Value = Checked
End If
End Sub
utilise plutot :
Private Sub Fond_case_Click()
Value IIF ( m_Value Checked , Unchecked , Checked)
End Sub
revoir l'indentation dans ton code, il n'aide pas toujours a la compréhension
petit conseil, evite des fonctions comme 'ActualizValue’
nomme la 'Refresh' , mets la en Public, et tout le monde s'y retrouvera bien mieux ;)
dans cette même propriété, si "pour etre tranquille" tu caches toutes tes images, inutile de les masquer de nouveux :
Ch_Red_grayedX.Visible = False
Ch_Black.Visible = False
Ch_Black_grayed.Visible = False
Ch_Black_grayedX.Visible = False
If CheckColor = Red Then
If m_Value = Unchecked Then
Ch_Red.Visible = False '< inutile !
Ch_Red_grayed.Visible = False '< inutile !
Ch_Red_grayedX.Visible = False '< inutile !
...
pour simplement tester, pas encessaire de compiler l'OCX ;)
changes ton type de proet en Projet standard (ou fais un groupe de projets) et tu aura acces a ton composant dans la barre d'otils quand tu sera dans une Form....
Ce ne sont que des remarques.... le tutoriel est complet, bien qu'un peu confus, me semble-t'il
6 juil. 2004 à 00:33
Je ne l'ai pas tester remarque....
6 juil. 2004 à 00:18
ca echouera au premier test If Value = Checked
5 juil. 2004 à 20:27
Value IIF ( m_Value Checked , Unchecked , Checked)
End Sub
Private Sub Fond_case_Click()
Value = not m_Value
End Sub
Il s'agit d'un simple toggle.
5 juil. 2004 à 14:23
changes la taille du controle en mode Edition : c'est la taille qu'aura le controle quand tu l'insère par un double click sur son bouton dans la barre d'outils (il est bien trop grand !)
Public Enum EtatValue
Unchecked = 0
Checked = 1
Grayed = 2
GrayedX = 3
Frozen = 4
FrozenX = 5
End Enum
les valeurs numériques sont ici inutiles
If m_Value = Unchecked Then
Ch_Red.Visible = False
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = False
ElseIf m_Value = Grayed Then
Ch_Red.Visible = False
Ch_Red_grayed.Visible = True
Ch_Red_grayedX.Visible = False
ElseIf m_Value = GrayedX Then
Ch_Red.Visible = False
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = True
ElseIf m_Value = Checked Then
Ch_Red.Visible = True
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = False
ElseIf m_Value = Frozen Then
Ch_Red.Visible = False
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = False
ElseIf m_Value = FrozenX Then
Ch_Red.Visible = True
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = False
End If
Il serait bien mieux d'utiliser un Select Case :
Select Case m_Value
Case Unchecked :
Ch_Red.Visible = False
Ch_Red_grayed.Visible = False
Ch_Red_grayedX.Visible = False
Case Grayed :
Ch_Red.Visible = False
Ch_Red_grayed.Visible = True
Ch_Red_grayedX.Visible = False
…
End Select
Il serait plus opportun de définir les valeurs initiales de tes propriétés dans InitProperties.... qui ne sera appelée que si necessaire !
Ce genre de code est douteux également ;)
Private Sub Fond_case_Click()
If m_Value = Checked Then
Value = Unchecked
Exit Sub
End If
If m_Value = Unchecked Then
Value = Checked
End If
End Sub
utilise plutot :
Private Sub Fond_case_Click()
Value IIF ( m_Value Checked , Unchecked , Checked)
End Sub
revoir l'indentation dans ton code, il n'aide pas toujours a la compréhension
petit conseil, evite des fonctions comme 'ActualizValue’
nomme la 'Refresh' , mets la en Public, et tout le monde s'y retrouvera bien mieux ;)
dans cette même propriété, si "pour etre tranquille" tu caches toutes tes images, inutile de les masquer de nouveux :
Ch_Red_grayedX.Visible = False
Ch_Black.Visible = False
Ch_Black_grayed.Visible = False
Ch_Black_grayedX.Visible = False
If CheckColor = Red Then
If m_Value = Unchecked Then
Ch_Red.Visible = False '< inutile !
Ch_Red_grayed.Visible = False '< inutile !
Ch_Red_grayedX.Visible = False '< inutile !
...
pour simplement tester, pas encessaire de compiler l'OCX ;)
changes ton type de proet en Projet standard (ou fais un groupe de projets) et tu aura acces a ton composant dans la barre d'otils quand tu sera dans une Form....
Ce ne sont que des remarques.... le tutoriel est complet, bien qu'un peu confus, me semble-t'il
Quelques infos utiles pour les débutants