stopsoftwarepatents.eu petition banner

AutoIt Français

Communauté Francophone AutoIt
* Connexion   * M’enregistrer

Heures au format UTC + 1 heure


Règles du forum

Poster un nouveau sujet Répondre au sujet  [ 18 messages ] 
Auteur Message
Hors ligne
Niveau 6
Niveau 6
Inscription: Sam 11 Oct 2008 13:44
Messages: 267

Dernier message
Sujet du message: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Mar 09 Mar 2010 21:12 

Bonjour,

Voici mon petit problème.

Je voudrais créer un bouton checkable avec une icon et du texte sur celui-ci.
J'ai donc trouvé cette solution mais le texte n'est pas toujours visible.

Spoiler pour :
Code
$on1 = GUICtrlCreateCheckbox("",810,10,40,40, BitOR($BS_PUSHLIKE,$BS_ICON))
GUICtrlSetImage(-1,"image.ico",40)
$labelon1=GUICtrlCreateLabel("OFF", 810,10,40,40, 0x201, 0x200)
GUICtrlSetFont(-1, 6, 800, 0, "MS Sans Serif")


Connaissez vous une solution ?

Merci

 Profil  
 
AutoIt Français
Hors ligne
Site Admin
Site Admin
Avatar de l’utilisateur
Inscription: Ven 20 Juil 2007 20:00
Messages: 5595
Age: 43

Localisation: Bordeaux
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Mer 10 Mar 2010 01:32 

Rajoutez le texte sur l'image. ;)



Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Salutations.
Thierry

 Profil  
 
AutoIt Français
Hors ligne
Niveau 6
Niveau 6
Inscription: Sam 11 Oct 2008 13:44
Messages: 267
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Mer 10 Mar 2010 13:12 

Cela aurait été une bonne idée, mais le texte change en fonction du bouton.

Au départ , il est égal à "OFF" et aprés le premier appuie, "ON", et etc ...

 Profil  
 
AutoIt Français
Hors ligne
Site Admin
Site Admin
Avatar de l’utilisateur
Inscription: Ven 20 Juil 2007 20:00
Messages: 5595
Age: 43

Localisation: Bordeaux
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Mer 10 Mar 2010 15:42 

Hé bien oui, comme sur ce forum.
Il vous faut une image par bouton, voir même quatre si vous voulez gérer le survol. ;)



Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Salutations.
Thierry

 Profil  
 
AutoIt Français
Hors ligne
Niveau 6
Niveau 6
Inscription: Sam 11 Oct 2008 13:44
Messages: 267
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Jeu 11 Mar 2010 07:47 

pourriez vous me guider un peu plus svp ?

 Profil  
 
AutoIt Français
Hors ligne
Site Admin
Site Admin
Avatar de l’utilisateur
Inscription: Ven 20 Juil 2007 20:00
Messages: 5595
Age: 43

Localisation: Bordeaux
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Jeu 11 Mar 2010 18:46 

:shock: :shock: :shock:

Hé bien, tout simplement, vous prenez l'image que vous voulez attribuer au bouton, puis à l'aide d'un outil de dessin écrivez le texte désiré, puis enregistrez l'image sous un nom en rapport avec le texte. Ensuite recommencez la même manipulation pour les autres texte ...
Ensuite dans votre code, lorsque le bouton doit changer de texte, modifiez l'image associée avec la commande GUICtrlSetImage().

Il existe un UDF du nom de MouseHover.au3 qui permet de modifier l'apparence d'un contrôle lors de son survol. Peut être devriez-vous y jeter un coup d'œil si vous voulez en faire un peut plus. ;)



Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Salutations.
Thierry

 Profil  
 
AutoIt Français
Hors ligne
Niveau 6
Niveau 6
Inscription: Sam 11 Oct 2008 13:44
Messages: 267
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Ven 12 Mar 2010 07:20 

J'avais pensé à ces lignes là mais ça ne marche pas !

Spoiler pour :
Code
$Main = GUICreate("GUI", 850, 600, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
;creation de 4 boutons checkables
$on1 = GUICtrlCreateCheckbox("",810,10,40,40, BitOR($BS_PUSHLIKE,$BS_ICON))
GUICtrlSetImage(-1,"webcamOFF.ico",40)
GUISetState(@SW_SHOW)

While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then
        Exit
    EndIf

    If $msg = $on1 Then
        Switch GUICtrlRead($on1)
            Case $GUI_CHECKED
                GUICtrlSetImage(-1,"webcamON.ico",10)


            Case $GUI_UNCHECKED
                GUICtrlSetImage(-1,"webcamOFF.ico",10)
        EndSwitch
        _SetState()
    EndIf
WEnd

 Profil  
 
AutoIt Français
Hors ligne
Niveau 6
Niveau 6
Inscription: Sam 11 Oct 2008 13:44
Messages: 267
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Ven 12 Mar 2010 07:28 

Je pense avoir mal utilisé GuiCtrlsetimage():

Spoiler pour :
Code
$Main = GUICreate("GUI", 850, 600, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
;creation de 4 boutons checkables
$on1 = GUICtrlCreateCheckbox("",810,10,40,40, BitOR($BS_PUSHLIKE,$BS_ICON))
GUICtrlSetImage(-1,"webcamOFF.ico",40)
GUISetState(@SW_SHOW)

While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then
        Exit
    EndIf

    If $msg = $on1 Then
        Switch GUICtrlRead($on1)
            Case $GUI_CHECKED
                GUICtrlSetImage($on1,"webcamON.ico")


            Case $GUI_UNCHECKED
                GUICtrlSetImage($on1,"webcamOFF.ico")
        EndSwitch
        _SetState()
    EndIf
WEnd


Cela semble fonctionner . Est ce la bonne solution? Seul problème , les textes ne sont pas bien lissé car dépendant de la résolution de l'image!

 Profil  
 
AutoIt Français
Hors ligne
Niveau 6
Niveau 6
Inscription: Sam 11 Oct 2008 13:44
Messages: 267
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Ven 12 Mar 2010 07:35 

Par ailleurs j'avais utilisé cet UDF (funkey) pour un autre projet mais je n'arrive pas à faire un bouton ON OFF avec !

Spoiler pour :
Code
$Main = GUICreate("GUI", 850, 600, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
;creation de 4 boutons checkables
$on1 = _GUICtrlCreateBitBtn("OFF", 810,10,40,40, "webcam.ico", 20, 35, 0, 3, 10, BitOR($BS_PUSHLIKE,$BS_ICON));ON/OFF caméra 1
GUICtrlSetImage(-1,"webcamOFF.ico",40)
GUISetState(@SW_SHOW)

While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then
        Exit
    EndIf

    If $msg = $on1 Then
        Switch GUICtrlRead($on1)
            Case $GUI_CHECKED
                GUICtrlSetImage($on1,"webcamON.ico")


            Case $GUI_UNCHECKED
                GUICtrlSetImage($on1,"webcamOFF.ico")
        EndSwitch
        _SetState()
    EndIf
WEnd


Si vous aviez une idée svp merci

 Profil  
 
AutoIt Français
Hors ligne
Site Admin
Site Admin
Avatar de l’utilisateur
Inscription: Ven 20 Juil 2007 20:00
Messages: 5595
Age: 43

Localisation: Bordeaux
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Ven 12 Mar 2010 07:59 

On ne lit pas l'état d'une CheckBox comme vous le faire.
Lisez la documentation de la commande GUICtrlRead() (section Remark') ou utilisez l'UDF IsChecked() (a chercher sur le forum).



Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Salutations.
Thierry

 Profil  
 
AutoIt Français
Hors ligne
Niveau 6
Niveau 6
Inscription: Sam 11 Oct 2008 13:44
Messages: 267
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Ven 12 Mar 2010 12:54 

Mon but final aurait été d'utiliser l'UDF funkey, http://www.autoitscript.fr/forum/viewtopic.php?f=6&t=4304 mais avec une possibilité ON OFF .

Il y a la fontion suivante:
Spoiler pour :
Code
Func _BitBtnClick($IdBtn)
    ;funkey 16.12.2009
    Local $aInfo, $aInfoLast
    GUICtrlSetState($IdBtn + 3, 32) ;$GUI_HIDE
    GUICtrlSetState($IdBtn + 2, 16) ;$GUI_SHOW
    $aInfoLast = GUIGetCursorInfo()
    Do
        Sleep(10)
        $aInfo = GUIGetCursorInfo()
        If @error Then Return 0
        If $aInfo[4] <> $aInfoLast[4] Then ;if changing the hover-control
            If $aInfo[4] < $IdBtn Or $aInfo[4] > $IdBtn + 3 Then ;if not hovering the BitBtn
                GUICtrlSetState($IdBtn + 2, 32) ;$GUI_HIDE
                GUICtrlSetState($IdBtn + 3, 16) ;$GUI_SHOW
            Else
                GUICtrlSetState($IdBtn + 3, 32) ;$GUI_HIDE
                GUICtrlSetState($IdBtn + 2, 16) ;$GUI_SHOW
            EndIf
        EndIf
        $aInfoLast = $aInfo
    Until Not $aInfo[2]
    GUICtrlSetState($IdBtn + 2, 32) ;$GUI_HIDE
    GUICtrlSetState($IdBtn + 3, 16) ;$GUI_SHOW
    If $aInfo[4] <> $IdBtn + 2 And $aInfo[4] <> $IdBtn + 1 Then Return 0
    Return 1
EndFunc   ;==>_BitBtnClick


mais je ne vois pas comment l'utiliser et si elle correspond à mon besion

 Profil  
 
AutoIt Français
Hors ligne
Site Admin
Site Admin
Avatar de l’utilisateur
Inscription: Ven 20 Juil 2007 20:00
Messages: 5595
Age: 43

Localisation: Bordeaux
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Ven 12 Mar 2010 16:27 

Oui. Et ma réponse ne vous convient pas ?

C'est pourtant simple, la fonction _BitBtnClick($IdBtn) vérifie si le contrôle $IdBtn est cliqué ou non.
Vous n'avez qu'à rajouter cette fonction de contrôle dans la boucle principale $msg ou l'attribuer en mode événementiel afin de traiter le type de retour (0 ou 1).



Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Salutations.
Thierry

 Profil  
 
AutoIt Français
Hors ligne
Niveau 6
Niveau 6
Inscription: Sam 11 Oct 2008 13:44
Messages: 267
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Ven 12 Mar 2010 20:03 

Test ON /OFF avec fonction _BitBtnClick
Spoiler pour :
Code
$Main = GUICreate("RRMulti", 870, 600, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
$on1 = _GUICtrlCreateBitBtn("OFF", 810,10,40,40, "webcam.ico", 20, 35, 0, 3, 10);ON/OFF caméra 1
$bt1 = _BitBtnClick($on1)

GUISetState(@SW_SHOW)

While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then
        Exit
    EndIf

    If $msg = $on1 Then
        $dt0 = Number(Not($dt0))
            If $bt1 = 0 Then
                GUICtrlSetData($on1, "ON")
                SplashTextOn("Warning!",$bt1)
                sleep(1000)
                SplashOff()

            EndIf
            If $bt1 = 1 Then
                GUICtrlSetData($on1, "OFF")
                SplashTextOn("Warning!",$bt1)
                sleep(1000)
                SplashOff()
            EndIf

    EndIf
Wend



J'ai essayer ces lignes mais $bt1 reste tjs à 0

 Profil  
 
AutoIt Français
Hors ligne
Site Admin
Site Admin
Avatar de l’utilisateur
Inscription: Ven 20 Juil 2007 20:00
Messages: 5595
Age: 43

Localisation: Bordeaux
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Ven 12 Mar 2010 21:19 

:cry:



Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Salutations.
Thierry

 Profil  
 
AutoIt Français
Hors ligne
Niveau 6
Niveau 6
Inscription: Sam 11 Oct 2008 13:44
Messages: 267
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Sam 13 Mar 2010 09:40 

Vous avez l'air triste ! Moi aussi car je n'ai tjs pas trouvé ma solution !

Au fait, je ne sais pas comment faire pour recevoir un avis de réponse du forum sur mon mail.
Il semblerait que cela ne fonctionne pas pour moi !

 Profil  
 
AutoIt Français
Hors ligne
Site Admin
Site Admin
Avatar de l’utilisateur
Inscription: Ven 20 Juil 2007 20:00
Messages: 5595
Age: 43

Localisation: Bordeaux
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Sam 13 Mar 2010 16:23 

pierrotm777 a écrit
Vous avez l'air triste !
Oui, un peut quand même, car vous placez du code sans réfléchir...

pierrotm777 a écrit
je ne sais pas comment faire pour recevoir un avis de réponse du forum sur mon mail
C'est corrigé.



Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Salutations.
Thierry

 Profil  
 
AutoIt Français
Hors ligne
Niveau 6
Niveau 6
Inscription: Sam 11 Oct 2008 13:44
Messages: 267
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Sam 13 Mar 2010 18:16 

Croyez moi , mon cerveau bouillonne. Il m'arrive de mettre du temps à trouver une solution ou une idée , mais là , je bloque .
GUICtrlCreateCheckbox marche trés bien mais une solution avec _GUICtrlCreateBitBtn et _BitBtnClick me plairait bien

 Profil  
 
AutoIt Français
Hors ligne
Site Admin
Site Admin
Avatar de l’utilisateur
Inscription: Ven 20 Juil 2007 20:00
Messages: 5595
Age: 43

Localisation: Bordeaux

Haut
Sujet du message: Re: [..] Texte et icone sur bouton GUICtrlCreateCheckbox
MessagePosté: Sam 13 Mar 2010 18:24 

Hé bien, demandez vous à quoi sert la fonction _BitBtnClick() et ou il faut l'utiliser pour bénéficier de son résultat ... :roll:

Si je ne vous donne pas la réponse, c'est tout simplement parce que je pense que vous êtes capable de la trouver par vous même.

J'ai répondu à de nombreuses demandes de votre part en vous donnant la solution toute faite (ou presque parfois). Vos scripts deviennent de plus en plus long et vous vous perdez dans la complexité, alors travaillez par étape et résolvez vos problèmes au fur et à mesure en essayant de comprendre l'utilité de chaque fonctions utilisée, car si vous ne comprenez pas à quoi cela sert, comment voulez-vous placer le code de telle ou telle fonction au bon endroit ou avec la bonne syntaxe ...



Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Salutations.
Thierry

 Profil  
 
Afficher les messages postés depuis:  Trier par  

Poster un nouveau sujet Répondre au sujet  [ 18 messages ] 

Heures au format UTC + 1 heure


Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  

AutoIt Français
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group, Sniper_Blue phpBB-3.0 Style © 2007 Sniper_E
Traduction par: phpBB-fr.com