[R] Activer un check radio en fonction d'un GUI

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

[R] Activer un check radio en fonction d'un GUI

#1

Message par pierrotm777 »

Bonjour,
Je cherche à positionner automatiquement un check type 'radio' à ON en fonction de la fenêtre active
► Afficher le texte
La gui ci-dessus est une fenêtre fille.
A son ouverture, je voudrais forcer le bouton radio '$Radio41' à ce placer au 'vert' :D si la fenêtre principale $MainGUI est active.
J'ai bien essayé cela mais sans succés:

Code : Tout sélectionner

If GUICtrlSetState($MainGUI,$GUI_SHOW) Then GUICtrlSetState($Radio41,$GUI_CHECKED)
Quelle est mon erreur SVP ?
Modifié en dernier par pierrotm777 le lun. 21 févr. 2011 12:12, modifié 1 fois.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Activer un check radio en fonction d'un GUI

#2

Message par pierrotm777 »

J'ai aussi essayé cela sans succés:

Code : Tout sélectionner

If GUISetState(@SW_SHOW,$MainGUI) Then GUICtrlSetState($Radio41,$GUI_CHECKED)
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Activer un check radio en fonction d'un GUI

#3

Message par TommyDDR »

Ouvrez un dico / traducteur et regarder à Set et Get

Le set (GUISetState) permet de Mettre un état tandis que Get (GUIGetState) permet de récupérer un état.

Donc dans un If, vous testez l'état de la fenêtre.

=> GUIGetState

Regardez l'aide de cette fonction pour connaitre les valeurs retournées.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Activer un check radio en fonction d'un GUI

#4

Message par pierrotm777 »

Désolé, mais je crois que la fonction GUIGetState n'existe pas en 3.3.6.1 :(
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Activer un check radio en fonction d'un GUI

#5

Message par zeshrek »

Il faut savoir qu'un GUI c'est une appellation pour les humains.
Pour Windows, c'est juste une fenetre, dont on peut recuperer le status avec WinGetState
Si vis pacem para bellum
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Activer un check radio en fonction d'un GUI

#6

Message par TommyDDR »

... zeshrek, toujours aussi rapide.

En effet, remplacez GUI par Win et le tour est joué (Vous auriez peut être pu trouver tout seul ;) )
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Activer un check radio en fonction d'un GUI

#7

Message par pierrotm777 »

J'avoue que oui, mais là , je n'y avais pas pensé.

Merci !!! :D
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Activer un check radio en fonction d'un GUI

#8

Message par pierrotm777 »

Pour info,
cela donne donc ceci:

Code : Tout sélectionner

Func SetRadioOptionsGUI(); test quel bouton radio de la GUI option est actif à l'ouverture
    If BitAND(WinGetState($MainGUI),2) Then
        GUICtrlSetState($Radio41,$GUI_CHECKED)
    ElseIf BitAND(WinGetState($MainGUI2Extras),2) Then
        GUICtrlSetState($Radio42,$GUI_CHECKED)
    ElseIf BitAND(WinGetState($MainGUI5Extras),2) Then
        GUICtrlSetState($Radio43,$GUI_CHECKED)
    EndIf
EndFunc
Merci encore à tous !
Répondre