EnableExplicit Define EventID Define Handle_IP1 Define Handle_IP2 Define Handle_IP3 Define Handle_IP4 Global gOldEditProc Procedure editproc(hWnd, uMsg, wParam, lParam) Protected result Select uMsg Case #WM_RBUTTONUP DisplayPopupMenu(1,WindowID(0)) result = 0 Default result = CallWindowProc_(gOldEditProc, hWnd, uMsg, wParam, lParam) EndSelect ProcedureReturn result EndProcedure If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) IPAddressGadget(1,10,10,200,20) If CreatePopupImageMenu(1,#PB_Menu_ModernLook) MenuItem(1,"MenuItem",0) EndIf Handle_IP4 = FindWindowEx_(GadgetID(1),0,"Edit",0) Handle_IP3 = FindWindowEx_(GadgetID(1),Handle_IP4,"Edit",0) Handle_IP2 = FindWindowEx_(GadgetID(1),Handle_IP3,"Edit",0) Handle_IP1 = FindWindowEx_(GadgetID(1),Handle_IP2,"Edit",0) gOldEditProc = SetWindowLongPtr_(Handle_IP1, #GWL_WNDPROC, @editproc()) Repeat EventID=WaitWindowEvent() If EventID = #PB_Event_CloseWindow End EndIf ForEver EndIf