Problème d'evenement souris encore

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Problème d'evenement souris encore

Message par gansta93 »

Bonjour,

Je voudrait que dès que l'on fait un double clique gauche sur un élément de la liste du code en dessous, ça face l'action comme s'il on faisait entrée j'espère avoir été compréhensible.

Code : Tout sélectionner

Enumeration
  
  #Sound
  #Fenetre
  #StatusBar
  #Menu
  #Liste
  
EndEnumeration

Procedure element()
  
  Select GetGadgetState(#Liste)
    Case 0
      RunProgram("Control", "Desktop", "")
    Case 1
      RunProgram("Control", "appwiz.cpl", "")
    Case 2
      RunProgram("Control", "Infrared", "")
    Case 3
      RunProgram("Control", "Folders", "")
    Case 4
      RunProgram("Control", "inetcpl.cpl", "")
    Case 5
      RunProgram("Control", "mmsys.cpl", "")
    Case 6
      RunProgram("Control", "sysdm.cpl", "")
  EndSelect
  
EndProcedure

If ExamineDesktops()
  L = DesktopWidth(0) - 100
  H = DesktopHeight(0) - 100
  If OpenWindow(#Fenetre, 0, 0, L, H, #pb_window_screencentered | #pb_window_titlebar | #pb_window_SystemMenu | #pb_window_sizegadget | #pb_window_minimizegadget | #pb_window_maximizegadget, "Petit Panneau de Config") And CreateGadgetList(WindowID(#Fenetre)) And CreateStatusBar(#StatusBar, WindowID(#Fenetre)) And CreateMenu(#Menu, WindowID(#Fenetre))
    If InitSound()
      UseOGGSoundDecoder()
      If CatchSound(#Sound, ?Sound)
        PlaySound(#Sound, 0)
        Play = #True
      EndIf
    EndIf
    AddKeyboardShortcut(#Fenetre, #PB_Shortcut_Return, 0)
    StatusBarText(#StatusBar, 0, "Fait parGansta93", #pb_statusbar_center)
    ListViewGadget(#Liste, 0, 0, L, H - 20)
    AddGadgetItem(#Liste, -1, "Affichage")
    AddGadgetItem(#Liste, -1, "Ajou/Suppression de programmes")
    AddGadgetItem(#Liste, -1, "Infrarouge")
    AddGadgetItem(#Liste, -1, "Options des Dossiers")
    AddGadgetItem(#Liste, -1, "Option Internet")
    AddGadgetItem(#Liste, -1, "Sons et multimédia")
    AddGadgetItem(#Liste, -1, "Système")
    If Play
      Delay(350)
      StopSound(1)
      FreeSound(1)
      play = #False
    EndIf
    Repeat
      ActivateGadget(#Liste)
      Select WaitWindowEvent()
        Case #PB_EventMenu
          Select EventMenuID()
            Case 0
              element()
          EndSelect
          Select EventType()
            Case #PB_EventType_LeftDoubleClick
              If EventGadgetID() = #Liste
                element()
              EndIf
          EndSelect
        Case #wm_size
          ResizeGadget(#Liste, 0, 0, WindowWidth(), WindowHeight() - 20)
        Case #pb_eventclosewindow
          quit = #True
      EndSelect
      Delay(20)
    Until quit = #True
    FreeMenu(0)
    gadget = 0
    Repeat
      FreeGadget(gadget)
      gadget = gadget + 1
    Until IsGadget(gadget) = 0
    FreeStatusBar(0)
    CloseWindow(0)
    If InitSound()
      UseOGGSoundDecoder()
      If CatchSound(1, ?Sound)
        PlaySound(1, 0)
        Play = #True
      EndIf
    EndIf
  Else
    MessageRequester("Erreur", "Erreur lors de l'initialisation du programme.", #mb_ok | #mb_iconstop)
  EndIf
Else
  MessageRequester("Erreur", "Impossible d'optenire les résolutions d'écran nécessaires.", #mb_ok | #mb_iconstop)
EndIf
If play
  Delay(350)
  StopSound(1)
  FreeSound(1)
  play = #False
EndIf
End

DataSection
  Sound :
    IncludeBinary "D:\Chien.wav"
EndDataSection
Bon la statusbar est pas dimentionée... mais à paremment ça marche :-).
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

C'est ça que tu veux???

Code : Tout sélectionner

Enumeration 
  
  #Sound 
  #Fenetre 
  #StatusBar 
  #Menu 
  #Liste 
  
EndEnumeration 

Procedure element() 
  
  Select GetGadgetState(#Liste) 
    Case 0 
      RunProgram("Control", "Desktop", "") 
    Case 1 
      RunProgram("Control", "appwiz.cpl", "") 
    Case 2 
      RunProgram("Control", "Infrared", "") 
    Case 3 
      RunProgram("Control", "Folders", "") 
    Case 4 
      RunProgram("Control", "inetcpl.cpl", "") 
    Case 5 
      RunProgram("Control", "mmsys.cpl", "") 
    Case 6 
      RunProgram("Control", "sysdm.cpl", "") 
  EndSelect 
  
EndProcedure 

If ExamineDesktops() 
  l = DesktopWidth(0) - 100 
  H = DesktopHeight(0) - 100 
  If OpenWindow(#Fenetre, 0, 0, l, H, #PB_Window_ScreenCentered | #PB_Window_TitleBar | #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "Petit Panneau de Config") And CreateGadgetList(WindowID(#Fenetre)) And CreateStatusBar(#StatusBar, WindowID(#Fenetre)) And CreateMenu(#Menu, WindowID(#Fenetre)) 
    If InitSound() 
      UseOGGSoundDecoder() 
      If CatchSound(#Sound, ?Sound) 
        PlaySound(#Sound, 0) 
        Play = #True 
      EndIf 
    EndIf 
    AddKeyboardShortcut(#Fenetre, #PB_Shortcut_Return, 0) 
    StatusBarText(#StatusBar, 0, "Fait parGansta93", #PB_StatusBar_Center) 
    ListViewGadget(#Liste, 0, 0, l, H - 20) 
    AddGadgetItem(#Liste, -1, "Affichage") 
    AddGadgetItem(#Liste, -1, "Ajou/Suppression de programmes") 
    AddGadgetItem(#Liste, -1, "Infrarouge") 
    AddGadgetItem(#Liste, -1, "Options des Dossiers") 
    AddGadgetItem(#Liste, -1, "Option Internet") 
    AddGadgetItem(#Liste, -1, "Sons et multimédia") 
    AddGadgetItem(#Liste, -1, "Système") 
    If Play 
      Delay(350) 
      StopSound(1) 
      FreeSound(1) 
      Play = #False 
    EndIf 
    Repeat 
      ActivateGadget(#Liste) 
      Select WaitWindowEvent() 
        Case #PB_EventMenu 
          Select EventMenuID() 
            Case 0 
              element() 
          EndSelect 
          
          ; Bon, j'ai fait ça à ma façon
        Case #PB_EventGadget
          Select EventGadgetID()
            Case #Liste
              If EventType() = #PB_EventType_LeftDoubleClick
                keybd_event_(#VK_RETURN,0,0,0) 
              EndIf
          EndSelect
          
          ; Select EventType() 
          ; Case #PB_EventType_LeftDoubleClick 
          ; If EventGadgetID() = #Liste 
          ; element() 
          ; EndIf 
          ; EndSelect 
          
        Case #WM_SIZE 
          ResizeGadget(#Liste, 0, 0, WindowWidth(), WindowHeight() - 20) 
        Case #PB_EventCloseWindow 
          quit = #True 
      EndSelect 
      Delay(20) 
    Until quit = #True 
    FreeMenu(0) 
    gadget = 0 
    Repeat 
      FreeGadget(gadget) 
      gadget = gadget + 1 
    Until IsGadget(gadget) = 0 
    FreeStatusBar(0) 
    CloseWindow(0) 
    If InitSound() 
      UseOGGSoundDecoder() 
      If CatchSound(1, ?Sound) 
        PlaySound(1, 0) 
        Play = #True 
      EndIf 
    EndIf 
  Else 
    MessageRequester("Erreur", "Erreur lors de l'initialisation du programme.", #MB_OK | #MB_ICONSTOP) 
  EndIf 
Else 
  MessageRequester("Erreur", "Impossible d'optenire les résolutions d'écran nécessaires.", #MB_OK | #MB_ICONSTOP) 
EndIf 
If Play 
  Delay(350) 
  StopSound(1) 
  FreeSound(1) 
  Play = #False 
EndIf 
End 

DataSection 
Sound : 
;IncludeBinary "D:\Chien.wav" ; J'ai désactivé ça, j'ai pas de chien!
EndDataSection
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Oui, c'est ça merci!
Mais pk ça marchait pas mon truc?
Vu que mon code à une API prait, ct la même chose.
Sinon... ça marche bien merci.
Répondre