Page 1 sur 1
popup menu ....
Publié : dim. 21/août/2005 9:05
par scaraber
salut voila j'ai faitun popup menu mais quand je clique sur un bouton sa fait une autre action enfin tt le biuton font la meme chose voici mon code
Code : Tout sélectionner
Select WaitWindowEvent()
Case #WM_RButtonDown
DisplayPopupMenu(0, WindowID())
Select EventMenuID()
Case #a1 ; Cacher
state=state+1
If state=2
state=0
EndIf
If state=0
CloseWindow (0)
EndIf
OpenWindow(0,WindowX(),WindowY(),200,140,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget ,"heure"); Fenster mit Rahmen öffnen
HideWindow(0,state)
Case #a2
b=b+2
EndIf
Case #a4
RunProgram ("config.exe",Parametre$, "", 1)
Case #a5
a=a+1
Case #a6
End
Default
EndSelect
EndSelect
Publié : dim. 21/août/2005 9:36
par fweil
scaraber,
Je crois que tu as envoyé un code en désordre !
Tel quel rien ne peut fonctionner.
Voici un squelette de programme qui fonctionne :
Code : Tout sélectionner
Enumeration
#Window_Main
#Menu
#Menu_a1
#Menu_a2
#Menu_a3
#Menu_a4
#Menu_a5
#Menu_a6
EndEnumeration
WindowWidth = 640
WindowHeight = 480
If OpenWindow(#Window_Main, 0, 0, WindowWidth, WindowHeight, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered, "MyWindow")
AddKeyboardShortcut(#Window_Main, #PB_Shortcut_Escape, #PB_Shortcut_Escape)
If CreatePopupMenu(#Menu)
MenuTitle("Menu")
MenuItem(#Menu_a1, "a1")
MenuItem(#Menu_a2, "a2")
MenuItem(#Menu_a3, "a3")
MenuItem(#Menu_a4, "a4")
MenuItem(#Menu_a5, "a5")
MenuItem(#Menu_a6, "a6")
EndIf
If CreateGadgetList(WindowID(#Window_Main))
EndIf
Quit = #False
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = #True
Case #WM_RBUTTONDOWN
DisplayPopupMenu(#Menu, WindowID(#Window_Main))
Case #PB_Event_Menu
Select EventMenuID()
Case #PB_Shortcut_Escape
Quit = #True
Case #Menu_a1
Debug "a1"
Case #Menu_a2
Debug "a2"
Case #Menu_a3
Debug "a3"
Case #Menu_a4
Debug "a4"
Case #Menu_a5
Debug "a5"
Case #Menu_a6
Debug "a6"
Default
EndSelect
EndSelect
Until Quit
EndIf
End
Publié : dim. 21/août/2005 10:32
par scaraber
le code marche bine mais impossible de le faire marcher dasn mon code pourtant sa a lair bon
Code : Tout sélectionner
If CreatePopupMenu(#Menu)
MenuItem(#Menu_a1, "déplacer/figer")
MenuItem(#Menu_a2, "cacher/afficher")
MenuItem(#Menu_a3, "optimiser ram")
MenuItem(#Menu_a4, "configurateur")
MenuItem(#Menu_a5, "aide")
MenuItem(#Menu_a6, "quiter")
EndIf
Code : Tout sélectionner
Select WaitWindowEvent()
Case #WM_RBUTTONDOWN
DisplayPopupMenu(#Menu, WindowID(0))
Select EventMenuID()
Case #Menu_a1
Fenster_an_aus+1
If Fenster_an_aus=1 ; fenetre deplacable
OpenWindow(0,WindowX(),WindowY(),200,140,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget ,"heure"); Fenster mit Rahmen öffnen *
heure ()
EndIf
If Fenster_an_aus=2 ; fenetre figer
OpenWindow(0,WindowX(),WindowY(),200,140, #WS_POPUP,"heure") ; Fenster ohne alles öffnen *
Fenster_an_aus=0
heure ()
EndIf
Case #Menu_a2
state=state+1
If state=2
state=0
EndIf
If state=0
CloseWindow (0)
EndIf
OpenWindow(0,WindowX(),WindowY(),200,140,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget ,"heure"); Fenster mit Rahmen öffnen
HideWindow(0,state)
Case #Menu_a3
CreateThread(@Optimisation(), Total)
Case #Menu_a4
RunProgram ("config.exe")
Case #Menu_a5
RunProgram("aide.exe")
Case #Menu_a6
End
Default
EndSelect
EndSelect
Publié : dim. 21/août/2005 10:57
par fweil
Dans ta boucle évènementielle, il manque un Case #PB_Event_Menu avant le Select EventMenuID().
Publié : dim. 21/août/2005 12:44
par scaraber
j'ai trouver le probleme

:le code susivant je c pas pourquoi mais quand je le met meme si je clique sur le bouton 2 c l'action du 1 qui sexecute

je ne comprend pas svp de l'aide
Code : Tout sélectionner
Case #Menu_a1
Debug 1
Fenster_an_aus+1
If Fenster_an_aus=1 ; fenetre deplacable
OpenWindow(0,WindowX(),WindowY(),200,140,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget ,"heure"); Fenster mit Rahmen öffnen *
heure ()
EndIf
If Fenster_an_aus=2 ; fenetre figer
OpenWindow(0,WindowX(),WindowY(),200,140, #WS_POPUP,"heure") ; Fenster ohne alles öffnen *
Fenster_an_aus=0
heure ()
EndIf
Publié : dim. 21/août/2005 15:53
par scaraber
salut
encore moi
bon j'ai enfin identifier avec certitude le niveau ou est le proleme
j'ai mi un systray et j'ai config le code pour que quand je clique dessu sa ouvre le menu le probleme c que quand jarive sur l'icone
EventMenuID() passe a 1 au lieu de rester a zero et attendre que jai choisi le bouton pour changer voici mon code je pence quil manque une phase de reconaissanec du menu selectioner
Code : Tout sélectionner
If WindowEvent = #PB_Event_SysTray
If EventType() = #PB_EventType_RightClick
DisplayPopupMenu(#Menu, WindowID())
If EventMenuID()=1
Debug 1
Fenster+1
If Fenster=1 ; fenetre deplacable
OpenWindow(0,WindowX(),WindowY(),200,140,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget ,"heure"); Fenster mit Rahmen öffnen *
heure()
EndIf
If Fenster=2 ; fenetre figer
OpenWindow(0,WindowX(),WindowY(),200,140, #WS_POPUP,"heure") ; Fenster ohne alles öffnen *
Fenster=0
heure()
EndIf
EndIf
If EventMenuID()=2
Debug 2
state=state+1
If state=2
state=0
EndIf
If state=0
CloseWindow (0)
EndIf
OpenWindow(0,WindowX(),WindowY(),200,140,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget ,"heure"); Fenster mit Rahmen öffnen
HideWindow(0,state)
EndIf
If EventMenuID()=3
Debug 3
CreateThread(@Optimisation(), Total)
EndIf
If EventMenuID()=4
RunProgram ("config.exe")
EndIf
If EventMenuID()=5
RunProgram ("aide.exe")
EndIf
If EventMenuID()=6
End
EndIf
MessageRequester("Info", "MenuItem: "+Str(EventMenuID()), 0)
EndIf
EndIf