Is there any way to detect a mouse up/down click anywhere, over any window/gadget? (Not just your own program window)
Code: Select all
Global lStartTime.l, lEndTime.l
Procedure WinCallback(Handle, Message, wParam, lParam)
Result = #PB_ProcessPureBasicEvents
Select Message
Case #WM_LBUTTONDOWN
lStartTime.l = ElapsedMilliseconds()
AddGadgetItem(0, -1, "Left Button Down")
Case #WM_LBUTTONUP
lEndTime.l = ElapsedMilliseconds()
AddGadgetItem(0, -1, "Left Button Up (" + Str(lEndTime.l - lStartTime.l) + " ms elapsed)")
Case #WM_RBUTTONDOWN
lStartTime.l = ElapsedMilliseconds()
AddGadgetItem(0, -1, "Right Button Down")
Case #WM_RBUTTONUP
lEndTime.l = ElapsedMilliseconds()
AddGadgetItem(0, -1, "Right Button Up (" + Str(lEndTime.l - lStartTime.l) + " ms elapsed)")
EndSelect
ProcedureReturn Result
EndProcedure
If OpenWindow(0, 0, 0, 500, 300, "Mouse Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
SetWindowCallback(@WinCallback())
EditorGadget (0, 10, 10, 480, 260)
TextGadget(1, 10, 280, 250, 20, "Click in this here area down here")
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf