Page 1 sur 1

[R] Etat de CheckBox particulier

Posté : lun. 02 mars 2009 20:41
par Artemis
Bonjour. Je cherche actuellement à réaliser des CheckBox comme celles-ci :
checkbox.PNG
checkbox.PNG (511 Octets) Vu 2447 fois
J'ai portant cherché sur le forum Français, dans le forum Anglais et dans l'aide, mais rien à faire. Cet état est introuvable.

Merci d'avance, Artemis

Re: Etat de CheckBox particulier

Posté : lun. 02 mars 2009 21:25
par Tlem
Merci de respecter les règles de présentation d'un message dont voici le lien : Règles de présentation

Ensuite dans la documentation de la fonction GUICtrlCreateCheckbox, dans le cadre style, vous avez un lien vers les styles pour les CheckBox (GUI Control Styles Appendix).
Entre autre vous y trouverez le style : $BS_AUTO3STATE
Donc cela veut dire 3 états ...

Je vais donc dans la commande qui permet de changer l'état d'une CheckBox (GUICtrlSetState) et dans le tableau State table je peut trouver les états :
- $GUI_UNCHECKED (Radio, Checkbox or ListViewItem will be unchecked)
- $GUI_CHECKED (Radio, Checkbox or ListViewItem will be checked)
- $GUI_INDETERMINATE (Checkbox having the tristate attribute will be greyed)

Voilà.

PS : Pensez à éditer votre premier message pour le mettre en accord avec les règles du forum.

Re: [..] Etat de CheckBox particulier

Posté : mar. 03 mars 2009 21:17
par Artemis
Désolé. Le titre est corrigé. Mais pas mon problème. En effet, quand j'utilise ce code :

Code : Tout sélectionner

#NoTrayIcon
#include <GUIConstants.au3>

$Form1 = GUICreate("test", 625, 445, 193, 125)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox", 8, 8, 193, 17)
GUICtrlSetState($Checkbox1,$GUI_INDETERMINATE)
GUISetState(@SW_SHOW)

While 1
    Sleep(1000)
WEnd
La checkbox est seulement cochée :(.

Artemis

Re: [..] Etat de CheckBox particulier

Posté : mar. 03 mars 2009 21:25
par Tlem
Ben vi, forcément, vous n'avez pas tout lu !!!
Et le style $BS_AUTO3STATE du GUICtrlCreateCheckbox il est ou ??? :P

Re: [..] Etat de CheckBox particulier

Posté : mer. 04 mars 2009 08:21
par Artemis
Merci beaucoup ! Mon code fonctionne ! Dommage que le $BS_AUTO3STATE ne soit pas intégré par défaut pour plus de facilité :(.
Code final :

Code : Tout sélectionner

#NoTrayIcon
#include <GUIConstants.au3>

$Form1 = GUICreate("test", 625, 445, 193, 125)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox", 8, 8, 193, 17, $BS_AUTO3STATE)
GUICtrlSetState($Checkbox1,$GUI_INDETERMINATE)
GUISetState(@SW_SHOW)

While 1
    Sleep(1000)
WEnd
 
Artemis