Affiche un raccourci de menu � l'emplacement sp�cifi�
#include <GuiMenu.au3>
_GUICtrlMenu_TrackPopupMenu ( $hMenu, $hWnd [, $iX = -1 [, $iY = -1 [, $iAlignX = 1 [, $iAlignY = 1 [, $iNotify = 0 [, $iButtons = 0]]]]]] )
$hMenu | Handle du raccourci de menu � afficher |
$hWnd | Handle de la fen�tre qui d�tient le raccourci du menu |
$iX | [optionnel] Sp�cifie la position horizontale du raccourci, en coordonn�es �cran. Si cette valeur est -1, la position courante de la souris est utilis�e. |
$iY | [optionnel] Sp�cifie la position verticale du raccourci, en coordonn�es �cran. Si cette valeur est -1, la position courante de la souris est utilis�e. |
$iAlignX | [optionnel] Sp�cifie comment positionner le menu horizontalement: 0 - Centre le menu horizontalement par rapport � $iX 1 - Positionne le menu de sorte que son c�t� gauche soit align� avec $iX 2 - Positionne le menu de sorte que son c�t� droit soit align� avec $iX |
$iAlignY | [optionnel] Sp�cifie comment positionner le menu verticalement: 0 - Positionne le menu de sorte que son cot� inf�rieur soit align� avec $iY 1 - Positionne le menu de sorte que son cot� sup�rieur soit align� avec $iY 2 - Centre le menu verticalement par rapport � $iY |
$iNotify | [optionnel] Utilis� pour d�terminer une s�lection en l'absence d'une fen�tre parent: 1 - N'envoie pas de message de notification 2 - Retourne l'identifiant de l'�l�ment s�lectionn� par l'utilisateur |
$iButtons | [optionnel] Boutons de souris pour traquer les raccourcis: 0 - L'utilisateur peut s�lectionner les �l�ments avec seulement le bouton gauche de la souris 1 - L'utilisateur peut s�lectionner les �l�ments avec les boutons gauche et droit |
Succ�s: | Si $iNotify est fix� � 2, la valeur de retour est l'identifiant de l'�l�ment s�lectionn� par l'utilisateur. Si l'utilisateur annule le menu sans faire de s�lection ou si une erreur se produit, alors la valeur de retour est z�ro. Si $iNotify n'est pas r�gl� sur 2, la valeur de retour est 1. |
�chec: | Retourne 0. |
Consultez TrackPopupMenu dans la librairie MSDN.
#include <GUIConstantsEx.au3> #include <GuiMenu.au3> #include <WinAPIError.au3> #include <WindowsConstants.au3> Global Enum $e_idOpen = 1000, $e_idSave, $e_idInfo Example() Func Example() ; Cr�e une GUI GUICreate("Menu", 400, 300) GUISetState(@SW_SHOW) ; Cr�e un gestionnaire de messages GUIRegisterMsg($WM_COMMAND, "WM_COMMAND") GUIRegisterMsg($WM_CONTEXTMENU, "WM_CONTEXTMENU") ; Boucle jusqu'� ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE EndFunc ;==>Example ; R�pond aux messages WM_COMMAND Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $lParam Switch $wParam Case $e_idOpen _WinAPI_ShowMsg("Open") Case $e_idSave _WinAPI_ShowMsg("Save") Case $e_idInfo _WinAPI_ShowMsg("Info") EndSwitch EndFunc ;==>WM_COMMAND ; G�re les messages WM_CONTEXTMENU Func WM_CONTEXTMENU($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $lParam Local $hMenu $hMenu = _GUICtrlMenu_CreatePopup() _GUICtrlMenu_InsertMenuItem($hMenu, 0, "Open", $e_idOpen) _GUICtrlMenu_InsertMenuItem($hMenu, 1, "Save", $e_idSave) _GUICtrlMenu_InsertMenuItem($hMenu, 3, "", 0) _GUICtrlMenu_InsertMenuItem($hMenu, 3, "Info", $e_idInfo) _GUICtrlMenu_TrackPopupMenu($hMenu, $wParam) _GUICtrlMenu_DestroyMenu($hMenu) Return True EndFunc ;==>WM_CONTEXTMENU