Page 1 sur 1

[v4 Beta 9] EventwParam() [Résolu]

Publié : mer. 22/févr./2006 22:13
par Progi1984
Code ne fonctionnant pas !
EventwParam() renvoie de mauvaises valeurs !

Code : Tout sélectionner

If OpenWindow(0, 100, 200, 400, 260, #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget, "PureBasic Window")=0:End:EndIf
If CreateGadgetList(WindowID(0))=0:End:EndIf
EditorGadget(1, 0, 0, 200, WindowHeight(0))
EditorGadget(2, 200, 0, 200, WindowHeight(0))

SendMessage_(GadgetID(1), #EM_SETEVENTMASK, 0, #ENM_CHANGE|SendMessage_(GadgetID(1), #EM_GETEVENTMASK, 0, 0))
SendMessage_(GadgetID(2), #EM_SETEVENTMASK, 0, #ENM_CHANGE|SendMessage_(GadgetID(2), #EM_GETEVENTMASK, 0, 0))

Repeat
  EventID = WaitWindowEvent()
  If EventID = #PB_Event_Gadget
    If EventwParam()>>16=#EN_CHANGE
      If EventwParam() & $FFFF = 1
        Debug "Change sur 1"
      ElseIf EventwParam() & $FFFF = 2
        Debug "Change sur 2"
      EndIf
    EndIf
   
  EndIf
Until EventID=#PB_Event_CloseWindow
End

Publié : mer. 05/avr./2006 20:45
par LeCyb
Je remonte :)

Publié : mer. 05/avr./2006 21:32
par Chris
Comme ça, ça fonctionne.

Code : Tout sélectionner

Procedure AfficheLeGadgetQuiChange(ValeurDuGadget.l)
  Debug "Change sur "+Str(ValeurDuGadget)
EndProcedure

Procedure CallBack(Hnd,msg,wParam,lParam)
  Resultat = #PB_ProcessPureBasicEvents
  
  Select msg
    Case #WM_COMMAND
      If wParam >>16 & $FFFF = #PB_EventType_Change
        
        If wParam  & $FFFF = 1
          AfficheLeGadgetQuiChange(1)
        ElseIf wParam  & $FFFF = 2
          AfficheLeGadgetQuiChange(2)
        EndIf
        
      EndIf
  EndSelect
  ProcedureReturn Resultat 
EndProcedure 
  
  
If OpenWindow(0, 100, 200, 400, 260, "PureBasic Window", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget)=0:End:EndIf
If CreateGadgetList(WindowID(0))=0 : End : EndIf
EditorGadget(1, 0, 0, 200, WindowHeight(0))
EditorGadget(2, 200, 0, 200, WindowHeight(0))
  
SendMessage_(GadgetID(1), #EM_SETEVENTMASK, 0, #ENM_CHANGE)
SendMessage_(GadgetID(2), #EM_SETEVENTMASK, 0, #ENM_CHANGE)
  
SetWindowCallback(@CallBack())
  
Repeat
  EventID = WaitWindowEvent()
  If EventID = #PB_Event_Gadget
    ;....
  EndIf
Until EventID=#PB_Event_CloseWindow
End

Publié : mer. 05/avr./2006 23:00
par Fred
C'est une fonction non documenté, donc non supportée :P.