Remonter le texte choisi du systray [Résolu]

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Remonter le texte choisi du systray [Résolu]

Message par Kwai chang caine »

Bonjour à tous

J'ai créé un menu systray dynamique qui va servir a recharger les anciens choix que j'aurais fait dans mon appli

Quand on clique, je remonte l'ID du menu, mais "quinquin" connait il une possibilité pour remonter directement le "libéllé" du menu :roll:
J'appelle par libéllé, dans mon exemple "Menu " + Str(g)

Ca m'eviterais de gerer un tableau avec les ID en passant par #PB_Any et les textes dedans :?

Code : Tout sélectionner

Hwnd = OpenWindow(0, x, y, LargeurInterne, HauteurInterne, "", #PB_Window_Invisible)
hIconSysTray = LoadImage(0, #PB_Compiler_Home + "Examples\#Commun\ico.ico") 

AddSysTrayIcon(0, Hwnd, hIconSysTray)  ; Ajoute l'icône dans le SysTray 
CreatePopupMenu(0)                    ; Crée un menu Pop-Up            
MenuItem(10, "Quitter") 
MenuBar()  
g = 0

Repeat 
 g + 1
 MenuItem(g,"Menu " + Str(g)) 
Until g = 10

Repeat
  
 Evenement = WaitWindowEvent() 

 Select Evenement
  
  Case #PB_Event_SysTray 
       
   If EventType() = #PB_EventType_LeftClick
    DisplayPopupMenu(0, Hwnd) 
   EndIf
  
  Case #PB_Event_Menu    
      
   If EventMenu() = 10
    End
   EndIf 
   
 EndSelect  

ForEver  
Merci et bonne journée
Dernière modification par Kwai chang caine le mar. 20/janv./2009 17:00, modifié 1 fois.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

je pige pas ton problème, tu chercherais pas encore a faire compliquer alors que la solution est toute bête ?

Essai comme ça

Et regarde bien le code, le tiens peut planter, le mien est sécurisé avec des if

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 100, 100, "Test") 
  If LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\CdPlayer.ico") 
    AddSysTrayIcon(0, WindowID(0), ImageID(0))  ; Ajoute l'icône dans le SysTray 
    If CreatePopupMenu(0)                    ; Crée un menu Pop-Up            
      MenuItem(0, "Quitter") 
      MenuBar()  
      For g = 5 To 15
        MenuItem(g,"Menu " + Str(g)) 
      Next
    EndIf
  EndIf
  
  Repeat 
    
    Evenement = WaitWindowEvent() 
    
    Select Evenement 
        
      Case #PB_Event_SysTray 
        
        If EventType() = #PB_EventType_LeftClick 
          DisplayPopupMenu(0, WindowID(0)) 
        EndIf 
        
      Case #PB_Event_Menu    
        
        Select EventMenu()
          Case 0 ; Quitter
            End
          Default
            EventMenu = EventMenu()
            Debug EventMenu
            Debug GetMenuItemText(0, EventMenu)
        EndSelect
        
      Case #PB_Event_CloseWindow
        End
        
    EndSelect  
    
  ForEver  
EndIf
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Mille merci mon bon soldat 8)

C'est exactement ce que je voulais :D
En fait, ce qu'il me manquait, c'etait ça

Code : Tout sélectionner

GetMenuItemText(0, EventMenu)
Tu vois, pour une fois je voulais quelque chose de simple.

Donc comme la reponse etait simple, j'ai posé une question compliquée :lol:
Je vais metre ton code chez les français d'en face, ça peut toujours servir.

Encore merci de ta reponse rapide
Répondre