Page 1 sur 1

[R] Griser un bouton

Posté : mer. 26 janv. 2011 08:27
par Christelle10
Ma question est simple, peut on griser un bouton comme un bouton inaccessible
comme le bouton back :
► Afficher le texte
si oui comment ?
merci.

Re: [..] Griser un bouton

Posté : mer. 26 janv. 2011 09:13
par zeshrek
Oui c'est possible, il suffit de le passer en disable et de le repasser en enable pour le réactiver :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 202, 191, 192, 114)
$Button1 = GUICtrlCreateButton("sortir", 56, 120, 75, 25, $WS_GROUP)
GUICtrlSetState($Button1, $GUI_DISABLE)
$Checkbox1 = GUICtrlCreateCheckbox("activer le bouton", 48, 56, 97, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE, $Button1
            Exit
        case Else
            if GUICtrlRead($Checkbox1) = 1 Then
                GUICtrlSetState($Button1, $GUI_ENABLE)
            Else
                GUICtrlSetState($Button1, $GUI_DISABLE)
            EndIf


    EndSwitch
WEnd
 

Re: [..] Griser un bouton

Posté : mer. 26 janv. 2011 09:50
par Christelle10
hum merci pour le code cependant je sais pas si ce n'est que moi mais celui clignote chez moi :(

mais sa va j'ai juste besoin de désactiver le bouton :)
merci.

Re: [R] Griser un bouton

Posté : mer. 26 janv. 2011 10:27
par zeshrek
Je poursuis bien que le topic soit [R] parceque l'info peut éventuellement servir a d'autres.

Oui en fait c'est 'normal' que ca clignotte, vu que la boucle lui fait changer d'état plein de fois
par seconde, du coup l'interpreteur redessine le bouton autant de fois.
Pour regler le pb il suffit de checker qu'il n'est pas déja dans l'état ou on veut le mettre :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 202, 191, 192, 114)
$Button1 = GUICtrlCreateButton("sortir", 56, 120, 75, 25, $WS_GROUP)
GUICtrlSetState($Button1, $GUI_DISABLE)
$Checkbox1 = GUICtrlCreateCheckbox("activer le bouton", 48, 56, 97, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE, $Button1
            Exit
        case Else
            if GUICtrlRead($Checkbox1) = 1 and GUICtrlGetState($Button1) <> $GUI_ENABLE Then
                GUICtrlSetState($Button1, $GUI_ENABLE)
            Elseif GUICtrlRead($Checkbox1) = 0 and GUICtrlGetState($Button1) <> $GUI_DISABLE Then
                GUICtrlSetState($Button1, $GUI_DISABLE)
            EndIf


    EndSwitch
WEnd
 

Re: [R] Griser un bouton

Posté : mar. 03 juin 2014 14:12
par T123x3
Bonjour a tous!!

j'ai une petite question par rapport à ça:
-Si, par exemple, quand on ouvre une application et que des le départ le bouton est grisé (disable) mais quand on coche une checkbox sur 40, le bouton revient à la normal. Je voudrai savoir comment fait!

Je m'explique, on a 40 checkbox, et n'importe laquelle, si on coche une, le bouton devient Enable. parce que je vois sur votre exemple, il y a qu'une seule checkbox.

Merci d'avance!! :D

Re: [R] Griser un bouton

Posté : mer. 04 juin 2014 08:30
par TommyDDR
Faites un tableau de checkbox et une boucle.

Zeshrek...

Re: [R] Griser un bouton

Posté : mer. 04 juin 2014 09:10
par T123x3
Merci!!! :)

Mais comment tu fais pour mettre des checkbox dans un tableau?

Excuse-moi, mais je suis débutant, je connais pas encore très bien ce language :?

Re: [R] Griser un bouton

Posté : mer. 04 juin 2014 12:09
par TommyDDR
Cadeau :
► Afficher le textecode

Re: [R] Griser un bouton

Posté : mer. 04 juin 2014 13:35
par T123x3
Merci beaucoup TommyDDR!!!! :D