Page 1 sur 1

[R] Menu avec sous menus sur un bouton ?

Posté : ven. 22 avr. 2016 11:37
par ericire
Bonjour
est-il possible de créer un menu avec sous menus sur un bouton ?
(pas un contextuel menu)

Re: menu avec sous menus sur un bouton ?

Posté : ven. 22 avr. 2016 14:29
par mikell
Difficile de répondre sans infos sur le but de la chose
A priori un bouton n'est pas fait pour ça

Re: menu avec sous menus sur un bouton ?

Posté : ven. 22 avr. 2016 15:25
par ericire
disons que je veux imiter un menu avec plusieurs item actions mais dans le corps de la fenêtre avec un look bouton
ou à la façon d'un combo à liste mais sans la flèche à droite
sur un bouton j'arrive à simuler un clic droit et faire apparaitre un menu contextuel avec des items, mais je n'arrive pas à intercepter les items

Re: menu avec sous menus sur un bouton ?

Posté : ven. 22 avr. 2016 16:34
par mikell
Si un menu contextuel peut faire l'affaire l'exemple du fichier d'aide pour GUICtrlCreateContextMenu correspond parfaitement
Le voilà, légèrement modifié pour mettre 2 sous-menuitems

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    GUICreate("My GUI Context Menu", 300, 200)

    Local $idButton = GUICtrlCreateButton("OK", 100, 100, 70, 20)
    Local $idButtoncontext = GUICtrlCreateContextMenu($idButton)
    Local $idMenuAbout = GUICtrlCreateMenu("About button", $idButtoncontext)
    Local $idMenu1 = GUICtrlCreateMenuItem("1", $idMenuAbout)
    GUICtrlCreateMenuItem("", $idMenuAbout) ; separator
    Local $idMenu2 = GUICtrlCreateMenuItem("2", $idMenuAbout)

    GUISetState(@SW_SHOW)

    ; Loop until the user exits.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
            Case $idButton
                MsgBox($MB_SYSTEMMODAL, "Button Clicked", 'OK')
            Case $idMenuAbout
                MsgBox($MB_SYSTEMMODAL, "Menu Selected", 'About')
            Case $idMenu1
                MsgBox($MB_SYSTEMMODAL, "Menu Selected", 'about 1')
            Case $idMenu2
                MsgBox($MB_SYSTEMMODAL, "Menu Selected", 'about 2')
        EndSwitch
    WEnd
EndFunc   ;==>Example

Re: menu avec sous menus sur un bouton ?

Posté : ven. 22 avr. 2016 22:24
par ericire
bon j'ai rajouté un

Code : Tout sélectionner

ControlClick ( "", "", $idButton, "right")
et ça fonctionne....presque
car l'action déclenchée par le second item du contextmenu est d'ouvrir l'explorateur sur un dossier précis et fermer la fenêtre gui crée par autoit,
et je n'arrive pas à fermer le gui avec exit après l'appel au FileOpenDialog().

Re: menu avec sous menus sur un bouton ?

Posté : ven. 22 avr. 2016 22:48
par ericire
c'est bon j'ai fait un GUISetState ( @SW_HIDE ) avant d'ouvrir l'explorateur
merci