EnableExplicit Global ButtonCB Procedure ButtonCB(hWnd, Message, wParam, lParam) Select Message Case #WM_RBUTTONUP Debug "Right clicked" EndSelect ProcedureReturn CallWindowProc_(ButtonCB, hWnd, Message, wParam, lParam) EndProcedure If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ButtonGadget(1, 10, 10, 100, 20, "Button", 0) ButtonCB = SetWindowLongPtr_(GadgetID(1), #GWL_WNDPROC, @ButtonCB()) Repeat Select WaitWindowEvent() Case #PB_Event_CloseWindow End EndSelect ForEver EndIf