Page 1 sur 1

probleme avec windowid()

Publié : dim. 27/nov./2005 19:17
par gadjet35
bonjour j'ai un probleme avec windowid()

Code : Tout sélectionner

;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Button_0
  #Button_1
  #Text_0
  #Button_2
  #Button_3
  #Button_4
  #Systray_0
EndEnumeration

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 442, 322, 270, 140,  #PB_Window_SizeGadget | #PB_Window_TitleBar , "Programme Multi Fonction     V3.8")
    If CreateGadgetList(WindowID())
      ButtonGadget(#Button_0, 10, 20, 70, 40, "Cacher")
      ButtonGadget(#Button_1, 190, 20, 70, 40, "Quitter")
      TextGadget(#Text_0, 70, 80, 130, 30, "")
    EndIf
    If CreatePopupMenu(1)
     MenuItem(1,"Cacher")
     MenuItem(2,"Afficher")
     MenuBar()
     MenuItem(3,"touches de racourci")
     MenuBar()
     OpenSubMenu("Jeux")
      MenuItem(4,"Boufe_Boule  V4.6")
      MenuItem(5,"Boufe_Boule  V6.3")
      MenuItem(6,"RPG  (en cours de construction)")
     CloseSubMenu()
     OpenSubMenu("Programmes")
      MenuItem(7,"Navigateur internet")
      MenuItem(8,"Compresseur fichiers")
      MenuItem(9,"Pure Move  (en cours de construction)")
      MenuItem(10,"Text World")
      MenuItem(11,"Media_WIN")
     CloseSubMenu()
     MenuBar()
     OpenSubMenu("Divers")
      MenuItem(12,"Info")
     CloseSubMenu()
     MenuBar()
     MenuItem(13,"Quitter")
    EndIf
  EndIf
EndProcedure

open_window_0()

image_systray = LoadImage(0,"D:\Fichier_PureBasic\PROGRAMMES_SVEN\Systray\PMF\image_systray.ico")
AddSysTrayIcon(#systray_0,WindowID(),image_systray)

 Repeat
  Select WaitWindowEvent()
   Case #PB_Event_SysTray
    Select EventType()
     Case #PB_EventType_RightClick
      DisplayPopupMenu(1,WindowID())
     Case #PB_EventType_LeftClick
      If cache = 0
       HideWindow(WindowID(),1)
       cache = 1
      EndIf
      If cache = 1
       HideWindow(WindowID(),0)
       cache = 0
      EndIf
    EndSelect
   Case #PB_Event_Gadget
    Select EventGadgetID()
     Case #button_0
      HideWindow(WindowID(),1)
     Case #button_1
      End
    EndSelect
   Case #PB_Event_Menu
   Select EventMenuID()
    Case 1
     HideWindow(WindowID(),1)
    Case 2
     HideWindow(WindowID(),2)
    Case 3
     If touches = 1
      SetMenuItemState(1,3,0)
      RemoveKeyboardShortcut(WindowID(),#PB_Shortcut_All)
      touches = 0
     EndIf
     If touches = 0
      SetMenuItemState(1,3,1)
      AddKeyboardShortcut(WindowID(),#PB_Shortcut_Control|#PB_Shortcut_A,4)
      AddKeyboardShortcut(WindowID(),#PB_Shortcut_Control|#PB_Shortcut_S,5)
      AddKeyboardShortcut(WindowID(),#PB_Shortcut_Control|#PB_Shortcut_D,6)
      AddKeyboardShortcut(WindowID(),#PB_Shortcut_Alt|#PB_Shortcut_A,7)
      AddKeyboardShortcut(WindowID(),#PB_Shortcut_Alt|#PB_Shortcut_S,8)
      AddKeyboardShortcut(WindowID(),#PB_Shortcut_Alt|#PB_Shortcut_D,9)
      AddKeyboardShortcut(WindowID(),#PB_Shortcut_Alt|#PB_Shortcut_F,10)
      AddKeyboardShortcut(WindowID(),#PB_Shortcut_Alt|#PB_Shortcut_G,11)
      touches = 1
     EndIf
     MessageRequester("Info","Fait par :   Gadget35"+Chr(10)+"Aider par :   Chris, Droopy")
    Case 13
     End
   EndSelect
  EndSelect
 Until quit = 1
quand je vais dans une fonction ou il y a windowid(): addshortcut() et hidewindow() purebasic me dit : window object not inisializing
que ce passe t-il ??? 8O 8O

Publié : dim. 27/nov./2005 19:32
par Chris
A ton avis!

Tu mets WindowId() la ou il faudrait mettre la constante de la fenêtre.

En plus, tu mets les evenement gadget dans les evenements Systray.
Faut pas etre etonne si Pure râle un peu.

Rechange le chemin de l'icone

Code : Tout sélectionner

;- Window Constants 
; 
Enumeration 
  #Window_0 
EndEnumeration 

;- Gadget Constants 
; 
Enumeration 
  #Button_0 
  #Button_1 
  #Text_0 
  #Button_2 
  #Button_3 
  #Button_4 
  #Systray_0 
EndEnumeration 

Procedure Open_Window_0() 
  If OpenWindow(#Window_0, 442, 322, 270, 140,  #PB_Window_SizeGadget | #PB_Window_TitleBar , "Programme Multi Fonction     V3.8") 
    If CreateGadgetList(WindowID()) 
      ButtonGadget(#Button_0, 10, 20, 70, 40, "Cacher") 
      ButtonGadget(#Button_1, 190, 20, 70, 40, "Quitter") 
      TextGadget(#Text_0, 70, 80, 130, 30, "") 
    EndIf 
    If CreatePopupMenu(1) 
      MenuItem(1,"Cacher") 
      MenuItem(2,"Afficher") 
      MenuBar() 
      MenuItem(3,"touches de racourci") 
      MenuBar() 
      OpenSubMenu("Jeux") 
      MenuItem(4,"Boufe_Boule  V4.6") 
      MenuItem(5,"Boufe_Boule  V6.3") 
      MenuItem(6,"RPG  (en cours de construction)") 
      CloseSubMenu() 
      OpenSubMenu("Programmes") 
      MenuItem(7,"Navigateur internet") 
      MenuItem(8,"Compresseur fichiers") 
      MenuItem(9,"Pure Move  (en cours de construction)") 
      MenuItem(10,"Text World") 
      MenuItem(11,"Media_WIN") 
      CloseSubMenu() 
      MenuBar() 
      OpenSubMenu("Divers") 
      MenuItem(12,"Info") 
      CloseSubMenu() 
      MenuBar() 
      MenuItem(13,"Quitter") 
    EndIf 
  EndIf 
EndProcedure 

Open_Window_0() 

image_systray = LoadImage(0,"D:\PureBasic\MesProgs\Classes\Classes.ico") 
AddSysTrayIcon(#Systray_0,WindowID(),image_systray) 

Repeat 
  Select WaitWindowEvent() 
    Case #PB_Event_SysTray 
      Select EventType() 
        Case #PB_EventType_RightClick 
          DisplayPopupMenu(1,WindowID()) 
      EndSelect 
      
    Case #PB_Event_Gadget 
      Select EventGadgetID() 
        Case #Button_0
          If cache = 0 : cache  = 1 : Else : cache = 0 : EndIf
            HideWindow(#Window_0,cache) 
          
        Case #Button_1 
          End 
      EndSelect 
      
    Case #PB_Event_Menu 
      Select EventMenuID() 
        Case 1 
          HideWindow(#Window_0,1) 
        Case 2 
          HideWindow(#Window_0,0) 
        Case 3 
          If touches = 1 
            SetMenuItemState(1,3,0) 
            RemoveKeyboardShortcut(WindowID(),#PB_Shortcut_All) 
            touches = 0 
          EndIf 
          If touches = 0 
            SetMenuItemState(1,3,1) 
            AddKeyboardShortcut(#Window_0,#PB_Shortcut_Control|#PB_Shortcut_A,4) 
            AddKeyboardShortcut(#Window_0,#PB_Shortcut_Control|#PB_Shortcut_S,5) 
            AddKeyboardShortcut(#Window_0,#PB_Shortcut_Control|#PB_Shortcut_D,6) 
            AddKeyboardShortcut(#Window_0,#PB_Shortcut_Alt|#PB_Shortcut_A,7) 
            AddKeyboardShortcut(#Window_0,#PB_Shortcut_Alt|#PB_Shortcut_S,8) 
            AddKeyboardShortcut(#Window_0,#PB_Shortcut_Alt|#PB_Shortcut_D,9) 
            AddKeyboardShortcut(#Window_0,#PB_Shortcut_Alt|#PB_Shortcut_F,10) 
            AddKeyboardShortcut(#Window_0,#PB_Shortcut_Alt|#PB_Shortcut_G,11) 
            touches = 1 
          EndIf 
          MessageRequester("Info","Fait par :   Gadget35"+Chr(10)+"Aider par :   Chris, Droopy") 
        Case 13 
          End 
      EndSelect 
  EndSelect 
Until quit = 1 

Publié : dim. 27/nov./2005 19:39
par gadjet35
:idea: bon merci. :D :D