#SS_NOTIFY sind nur für Static Controls wie z.B. TextGadget.
Für ProgressBarGadget sind andere Konstanten zuständig: #PBM_... (Messages) / #PBS_... (Styles)
Es gibt soweit ich weiß kein Notify-Flag. Da musst du schon mit einem Callback machen:
Code: Alles auswählen
EnableExplicit
Global ProcessBarCB
Procedure ProcessBarCB(hWnd, uMsg, wParam, lParam)
Select uMsg
Case #WM_LBUTTONUP
Debug "Klick"
EndSelect
ProcedureReturn CallWindowProc_(ProcessBarCB, hWnd, uMsg, wParam, lParam)
EndProcedure
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ProgressBarGadget(1, 10, 10, 480, 20, 0, 100, 0)
SetGadgetState(1, 40)
ProcessBarCB = SetWindowLongPtr_(GadgetID(1), #GWL_WNDPROC, @ProcessBarCB())
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Oder:
Code: Alles auswählen
EnableExplicit
Global ProcessBarCB
Procedure ProcessBarCB(hWnd, uMsg, wParam, lParam)
Select uMsg
Case #WM_LBUTTONUP
PostEvent(#PB_Event_Gadget, 0, GetProp_(hWnd, "PB_ID"))
EndSelect
ProcedureReturn CallWindowProc_(ProcessBarCB, hWnd, uMsg, wParam, lParam)
EndProcedure
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ProgressBarGadget(1, 10, 10, 480, 20, 0, 100, 0)
SetGadgetState(1, 40)
ProcessBarCB = SetWindowLongPtr_(GadgetID(1), #GWL_WNDPROC, @ProcessBarCB())
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 1
Debug "Klick"
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf