[..] Bouton qui ne marche pas

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ethneldryt
Status : Hors ligne

[..] Bouton qui ne marche pas

#1

Message par ethneldryt »

Bonjour,voila je n'arrive pas a faire fonctionner le premier bouton, je ne comprend pas pourquoi.

Code : Tout sélectionner

#Include <GuiStatusBar.au3>

Local $aParts[2] = [200, 160]
$guiname="toto"
$gui=GUICreate($guiname,500,500)
$st=_GUICtrlStatusBar_Create($gui)
_GUICtrlStatusBar_SetParts ($st, $aParts)
$bt=GUICtrlCreateButton("test",0,0,100)
$bt2=GUICtrlCreateButton("test",0,0,100)

_GUICtrlStatusBar_EmbedControl($st,0,GUICtrlGetHandle($bt),2)
_GUICtrlStatusBar_EmbedControl($st,1,GUICtrlGetHandle($bt2),2)
GUISetState()

while 1
    $msg = GUIGetMsg()
    Select
        case $msg = -3
            exit
        case $msg = $bt
        msgbox(0,"","")
    EndSelect
WEnd
 
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Bouton qui ne marche pas

#2

Message par SagePourpre »

Comme ça, ça fonctionne... Le problème est donc en rapport avec la barre de statut ...



Mais dans la description de la fonction, il est bien spécifié que n'importe quel contrôle peut y être placé...
Je ne comprends donc pas pourquoi le bouton ne réagit pas...


Peut-être une limitation de la barre de statut ? ... Je suis intrigué.
Je reviens là-dessus si je trouve comment faire interagir les boutons de la barre de statut.



Code : Tout sélectionner

#Include <GuiStatusBar.au3>

Local $aParts[2] = [200, 160]
$guiname="toto"
$gui=GUICreate($guiname,500,500)
;$st=_GUICtrlStatusBar_Create($gui)
;_GUICtrlStatusBar_SetParts ($st, $aParts)
$bt=GUICtrlCreateButton("test",0,0,100)
$bt2=GUICtrlCreateButton("test",0,0,100)

;_GUICtrlStatusBar_EmbedControl($st,0,GUICtrlGetHandle($bt),2)
;_GUICtrlStatusBar_EmbedControl($st,1,GUICtrlGetHandle($bt2),2)
GUISetState()

while 1
    $msg = GUIGetMsg()
    Select
        case $msg = -3
            exit
        case $msg = $bt
        msgbox(0,"","")
    EndSelect
WEnd
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Bouton qui ne marche pas

#3

Message par orax »

En créant une sous-classe de la barre (si c'est bien comme ça que ça s'appelle...), les messages de celle-ci, ainsi que le clic sur le bouton, sont visiblement bien interceptés, mais le problème est que je ne sais absolument pas si c'est la bonne manière de faire.
D'après ce que j'ai vu, c'est la fonction "SetParent" dans __GUICtrlStatusBar_EmbedControl qui pose problème, et sur MSDN à http://msdn.microsoft.com/en-us/library ... S.85).aspx ils racontent dans les remarques, si j'ai bien compris, qu'il faut synchroniser le "UISTATE" des deux fenêtres en envoyant les messages WM_CHANGEUISTATE et WM_UPDATEUISTATE. Je ne sais donc pas s'il faut procéder de cette manière ou comme je l'ai fait avec le début de code ci-dessous.
► Afficher le texte
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Bouton qui ne marche pas

#4

Message par Tlem »

Vous pourriez vous simplifier la vie en faisant quelque chose dans le genre :
► Afficher le texte
J'ai mis les barres n'importe comment pour l'exemple, mais bien sur il faudra colaer celle qu'il vous plaît en bas. ;)
Certes c'est très moyen, mais en attendent ...
Perso, j'aurais plutôt vu une barre d'outil, mais je n'ai pas trouvé comment la caler en bas.
Vous pourriez aussi utiliser une seconde GUI sans barre de titre qui contiendrait la fameuse ToolBar ou le menu.
Thierry

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 ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Bouton qui ne marche pas

#5

Message par ani »

l'exemple fournis au premier post çà ne fonctionne pas au click mais juste en appuyant sur la touche enter du clavier :o
Pour activer le souriso

regarde les divers exemple fournis pour la toolbar, tu devrai voir wm_command.
la structure est identique ;)
Répondre