je rencontre un probleme avdec mon code sur le menu ...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

je rencontre un probleme avdec mon code sur le menu ...

Message par jbernard13 »

bonjour

voici mon premier code :

Code : Tout sélectionner

If OpenWindow(0,0,0,400,250,#pb_window_systemmenu|#pb_window_minimizegadget|#pb_window_maximizegadget|#pb_window_screencentered,"Fenetre zero")
If CreateMenu(0,WindowID())
MenuTitle("Fichier")
 MenuItem(1,"Open" + Chr(9)+"ctrl+o")
 MenuItem(2,"Save" + Chr(9)+"ctrl+s")
 MenuItem(3,"Close"+ Chr(9)+"ctrl+c")
 EndIf

 Repeat 
    EventID.l = WaitWindowEvent()  
    Select EventID 
      Case #PB_EventMenu 
        Select EventMenuID() 

Case 3 

        End
      Case #WM_CLOSE 
        Quit=1  
    EndSelect  
  Until Quit =1

EndIf 

et voila j'arrive pas a activer l'option close de mon menu

j'ai un message d'erreur a cette endroit :

Code : Tout sélectionner

Until Quit =1
qui peux m'expliquer comment ecrire le code pour les actions d'un menu

merci

jbernard13
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Code : Tout sélectionner

If OpenWindow(0,0,0,400,250,#pb_window_systemmenu|#pb_window_minimizegadget|#pb_window_maximizegadget|#pb_window_screencentered,"Fenetre zero") 
If CreateMenu(0,WindowID()) 
MenuTitle("Fichier") 
 MenuItem(1,"Open" + Chr(9)+"ctrl+o") 
 MenuItem(2,"Save" + Chr(9)+"ctrl+s") 
 MenuItem(3,"Close"+ Chr(9)+"ctrl+c") 
 EndIf 

 Repeat 
    EventID.l = WaitWindowEvent()  
    Select EventID 
      Case #PB_EventMenu 
        Select EventMenuID() 
            Case 3 
                Quit=1
         EndSelect
                
      Case #WM_CLOSE 
        Quit=1  
    EndSelect  
  Until Quit =1 

EndIf 
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

merci nico

mais coment actionner le raccourci de mon menu

exemple l'option close a le raccourci ctrl+C


merci

jbernard
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Code : Tout sélectionner

If OpenWindow(0,0,0,400,250,#pb_window_systemmenu|#pb_window_minimizegadget|#pb_window_maximizegadget|#pb_window_screencentered,"Fenetre zero") 
If CreateMenu(0,WindowID()) 
MenuTitle("Fichier") 
 MenuItem(1,"Open" + Chr(9)+"ctrl+o") 
 MenuItem(2,"Save" + Chr(9)+"ctrl+s") 
 MenuItem(3,"Close"+ Chr(9)+"ctrl+c") 
 EndIf 
AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_ShortCut_C, 12) 

 Repeat 
    EventID.l = WaitWindowEvent()  
    Select EventID 
      Case #PB_EventMenu 
        Select EventMenuID() 
            Case 3 
                Quit=1
                
            Case 12
                quit=1
                                
         EndSelect
                
      Case #WM_CLOSE 
        Quit=1  
    EndSelect  
  Until Quit =1 

EndIf 
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Petit détail sur les menus concernant le signe "&":

MenuItem(3,"&Close"+ Chr(9)+"ctrl+c")

Lorsque tu mets ce signe devant une lettre, pas forcément la première, cela a pour effet de surligner cette lettre si tu fais ALT F (F première lettre du menu fichier ici), le menu fichier s'ouvre et l'on voit que le C de "close" est surligné.

:)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

on peut également simplifier en donnant le même identifiant à la touche que celui du menu, ça évite de faire l'action en double

Code : Tout sélectionner

If OpenWindow(0,0,0,400,250,#pb_window_systemmenu|#pb_window_minimizegadget|#pb_window_maximizegadget|#pb_window_screencentered,"Fenetre zero") 
If CreateMenu(0,WindowID()) 
MenuTitle("Fichier") 
 MenuItem(1,"Open" + Chr(9)+"ctrl+o") 
 MenuItem(2,"Save" + Chr(9)+"ctrl+s") 
 MenuItem(3,"Close"+ Chr(9)+"ctrl+c") 
 EndIf 
AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_ShortCut_C, 3) 

 Repeat 
    EventID.l = WaitWindowEvent()  
    Select EventID 
      Case #PB_EventMenu 
        Select EventMenuID() 
            Case 3 
                Quit=1 
                                
         EndSelect 
                
      Case #WM_CLOSE 
        Quit=1  
    EndSelect  
  Until Quit =1 

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)]
Répondre