Is it possible to set callback function for gadget

Code: Select all
Global Gadget
Procedure GadgetCallback(hWnd, uMsg, wParam, lParam)
If uMsg = #WM_LBUTTONDBLCLK
Debug "Double Clicked!"
EndIf
ProcedureReturn CallWindowProc_(Gadget, hWnd, uMsg, wParam, lParam)
EndProcedure
If OpenWindow(0, 0, 0, 150, 75, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
ButtonGadget(0, 5, 5, 125, 25, "Double Click Me!")
Gadget = SetWindowLong_(GadgetID(0), #GWL_WNDPROC, @GadgetCallback())
Repeat
WinEvent = WaitWindowEvent()
Until WinEvent = #PB_Event_CloseWindow
EndIf : End