OVH Cloud OVH Cloud

Encore pour mes boutons radio perso !!

4 réponses
Avatar
HECHT Franck
Bon, personne n'as encore p=FB me r=E9pondre correctement=20
alors je vien ici pour poser mas question !!

Vous voyez le fonctionnement des Boutons Radio de=20
Windows, si vous avez par exemple 2 boutons radio dans un=20
control Frame et 2 en-dehors, ils sont ind=E9pendants les=20
uns des autres. Si vous cliquez sur un bouton radio par=20
exemple qui se trouve dans le Frame, son confrere qui se=20
trouve aussi dans le Frame voit sa valeur "Value" changer=20
mais ca n'affecte pas ceux qui sont en-dehors du Frame !!

Bah c'est exactement le comportement que je veut=20
programmer dans mes BoutonsRadio perso, j'ai deja un=20
debut de code que voici:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
Private Sub UserControl_Click()
Dim rd As Object
=20
RaiseEvent Click
=20
For Each rd In UserControl.Parent
If TypeOf rd Is Rs_RadioButton Then
rd.Checked =3D False
End If
Next rd
=20
Checked =3D True
End Sub
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D

Sauf qu'avec cette boucle, cela change l'etat de TOUS mes=20
boutons radio mis sur une Form, meme si certains sont=20
dans une Frame !!

Qq'1 peut-t-il m'aider SVP ??

4 réponses

Avatar
Pascal B.
Salut Frank,

Voici le code:
======================================================== Private Sub UserControl_Click()
Dim rd As Object

RaiseEvent Click

For Each rd In UserControl.Parent
If TypeOf rd Is Rs_RadioButton Then
'Vérification des Container
If rd.Container is Usercontrol.Extender.Container Then
rd.Checked = False
Endif
End If
Next rd

Checked = True
End Sub
=========================================================
Amicalement
Pascal



"HECHT Franck" a écrit dans le message de news:b98801c3ecbb$3f0ecd40$
Bon, personne n'as encore pû me répondre correctement
alors je vien ici pour poser mas question !!

Vous voyez le fonctionnement des Boutons Radio de
Windows, si vous avez par exemple 2 boutons radio dans un
control Frame et 2 en-dehors, ils sont indépendants les
uns des autres. Si vous cliquez sur un bouton radio par
exemple qui se trouve dans le Frame, son confrere qui se
trouve aussi dans le Frame voit sa valeur "Value" changer
mais ca n'affecte pas ceux qui sont en-dehors du Frame !!

Bah c'est exactement le comportement que je veut
programmer dans mes BoutonsRadio perso, j'ai deja un
debut de code que voici:

======================================================== Private Sub UserControl_Click()
Dim rd As Object

RaiseEvent Click

For Each rd In UserControl.Parent
If TypeOf rd Is Rs_RadioButton Then
rd.Checked = False
End If
Next rd

Checked = True
End Sub
=========================================================
Sauf qu'avec cette boucle, cela change l'etat de TOUS mes
boutons radio mis sur une Form, meme si certains sont
dans une Frame !!

Qq'1 peut-t-il m'aider SVP ??
Avatar
HECHT Franck
Ho yeeeessss !!
C'est tellement simple ... lol !!

Merci tout plein ;)


-----Message d'origine-----

Salut Frank,

Voici le code:
======================== ========================= ========
Private Sub UserControl_Click()
Dim rd As Object

RaiseEvent Click

For Each rd In UserControl.Parent
If TypeOf rd Is Rs_RadioButton Then
'Vérification des Container
If rd.Container is


Usercontrol.Extender.Container Then
rd.Checked = False
Endif
End If
Next rd

Checked = True
End Sub
======================== ========================= ========


=

Amicalement
Pascal



"HECHT Franck" a écrit dans le


message de news:b98801c3ecbb$3f0ecd40$
Bon, personne n'as encore pû me répondre correctement
alors je vien ici pour poser mas question !!

Vous voyez le fonctionnement des Boutons Radio de
Windows, si vous avez par exemple 2 boutons radio dans un
control Frame et 2 en-dehors, ils sont indépendants les
uns des autres. Si vous cliquez sur un bouton radio par
exemple qui se trouve dans le Frame, son confrere qui se
trouve aussi dans le Frame voit sa valeur "Value" changer
mais ca n'affecte pas ceux qui sont en-dehors du Frame !!

Bah c'est exactement le comportement que je veut
programmer dans mes BoutonsRadio perso, j'ai deja un
debut de code que voici:

======================== ========================= ========
Private Sub UserControl_Click()
Dim rd As Object

RaiseEvent Click

For Each rd In UserControl.Parent
If TypeOf rd Is Rs_RadioButton Then
rd.Checked = False
End If
Next rd

Checked = True
End Sub
======================== ========================= ========


=

Sauf qu'avec cette boucle, cela change l'etat de TOUS mes
boutons radio mis sur une Form, meme si certains sont
dans une Frame !!

Qq'1 peut-t-il m'aider SVP ??


.



Avatar
François Picalausa
Bonjour/soir,

Plus simplement, on peut écrire:

Option Explicit

Private mValue As OLE_OPTEXCLUSIVE

Public Property Get Value() As OLE_OPTEXCLUSIVE
Value = mValue
End Property

'Dans les attributs de procédure, définir cette propriété comme celle par
défaut
'Outils > attributs de procédure > Nom : Value > Avancé > Procedure ID:
(default)
Public Property Let Value(NewValue As OLE_OPTEXCLUSIVE)
mValue = NewValue
Refresh

'La ligne suivante est importante!
PropertyChanged "Value"
End Property

Public Sub Refresh()
If Value Then
UserControl.BackColor = vbRed
Else
UserControl.BackColor = vbYellow
End If
End Sub

Private Sub UserControl_Click()
Me.Value = True
End Sub

Private Sub UserControl_Paint()
Refresh
End Sub

'+ implémenter le property bag


Et VB se charge du reste :-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"HECHT Franck" a écrit dans le message de
news:b98801c3ecbb$3f0ecd40$
Bon, personne n'as encore pû me répondre correctement
alors je vien ici pour poser mas question !!

Vous voyez le fonctionnement des Boutons Radio de
Windows, si vous avez par exemple 2 boutons radio dans un
control Frame et 2 en-dehors, ils sont indépendants les
uns des autres. Si vous cliquez sur un bouton radio par
exemple qui se trouve dans le Frame, son confrere qui se
trouve aussi dans le Frame voit sa valeur "Value" changer
mais ca n'affecte pas ceux qui sont en-dehors du Frame !!

Bah c'est exactement le comportement que je veut
programmer dans mes BoutonsRadio perso, j'ai deja un
debut de code que voici:

======================================================== > Private Sub UserControl_Click()
Dim rd As Object

RaiseEvent Click

For Each rd In UserControl.Parent
If TypeOf rd Is Rs_RadioButton Then
rd.Checked = False
End If
Next rd

Checked = True
End Sub
========================================================= >
Sauf qu'avec cette boucle, cela change l'etat de TOUS mes
boutons radio mis sur une Form, meme si certains sont
dans une Frame !!

Qq'1 peut-t-il m'aider SVP ??


Avatar
HECHT Franck
C'est une superbe solution aussi ca :D

-----Message d'origine-----
Bonjour/soir,

Plus simplement, on peut écrire:

Option Explicit

Private mValue As OLE_OPTEXCLUSIVE

Public Property Get Value() As OLE_OPTEXCLUSIVE
Value = mValue
End Property

'Dans les attributs de procédure, définir cette


propriété comme celle par
défaut
'Outils > attributs de procédure > Nom : Value > Avancé
Procedure ID:
(default)
Public Property Let Value(NewValue As OLE_OPTEXCLUSIVE)
mValue = NewValue
Refresh

'La ligne suivante est importante!
PropertyChanged "Value"
End Property

Public Sub Refresh()
If Value Then
UserControl.BackColor = vbRed
Else
UserControl.BackColor = vbYellow
End If
End Sub

Private Sub UserControl_Click()
Me.Value = True
End Sub

Private Sub UserControl_Paint()
Refresh
End Sub

'+ implémenter le property bag


Et VB se charge du reste :-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"HECHT Franck" a écrit dans le


message de
news:b98801c3ecbb$3f0ecd40$
Bon, personne n'as encore pû me répondre correctement
alors je vien ici pour poser mas question !!

Vous voyez le fonctionnement des Boutons Radio de
Windows, si vous avez par exemple 2 boutons radio dans




un
control Frame et 2 en-dehors, ils sont indépendants les
uns des autres. Si vous cliquez sur un bouton radio par
exemple qui se trouve dans le Frame, son confrere qui




se
trouve aussi dans le Frame voit sa valeur "Value"




changer
mais ca n'affecte pas ceux qui sont en-dehors du




Frame !!

Bah c'est exactement le comportement que je veut
programmer dans mes BoutonsRadio perso, j'ai deja un
debut de code que voici:






========================= ========================= =======
Private Sub UserControl_Click()
Dim rd As Object

RaiseEvent Click

For Each rd In UserControl.Parent
If TypeOf rd Is Rs_RadioButton Then
rd.Checked = False
End If
Next rd

Checked = True
End Sub





========================= ========================= ========

Sauf qu'avec cette boucle, cela change l'etat de TOUS




mes
boutons radio mis sur une Form, meme si certains sont
dans une Frame !!

Qq'1 peut-t-il m'aider SVP ??




.