;Autor: Andreas EnableExplicit Procedure ShadowProc(wnd,lparam) Protected x.l Protected y.l Protected w.l Protected h.l Protected Brush Protected Pen Protected OldBrush Protected OldPen Brush = GetStockObject_(#DKGRAY_BRUSH) Pen = GetStockObject_(#NULL_PEN) OldBrush = SelectObject_(lParam,Brush) OldPen = SelectObject_(lParam,Pen) x = GadgetX(GetDlgCtrlID_(wnd))+6 y = GadgetY(GetDlgCtrlID_(wnd))+6 w = GadgetX(GetDlgCtrlID_(wnd))+6+GadgetWidth(GetDlgCtrlID_(wnd)) h = GadgetY(GetDlgCtrlID_(wnd))+6+GadgetHeight(GetDlgCtrlID_(wnd)) OldBrush = SelectObject_(lParam,Brush) Rectangle_(lParam,x,y,w,h) SelectObject_(lParam,OldBrush) SelectObject_(lParam,OldPen) DeleteObject_(Brush) DeleteObject_(Pen) ProcedureReturn #True EndProcedure Procedure WCB(wnd,msg,wparam,lparam) Protected FullDrag.l Protected Result Protected ps.PAINTSTRUCT Result = #PB_ProcessPureBasicEvents Select msg Case #WM_NCHITTEST Case #WM_PAINT BeginPaint_(wnd,ps.PAINTSTRUCT) EnumChildWindows_(wnd,@ShadowProc(),ps\hdc) EndPaint_(wnd,ps.PAINTSTRUCT) EndSelect ProcedureReturn Result EndProcedure If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) ButtonGadget(1,10,10,100,20,"Button",0) StringGadget(2,150,10,100,20,"",0) ComboBoxGadget(3,10,50,100,20,0) ProgressBarGadget(4,150,50,100,20,0,100,0) SetWindowCallback(@WCB()) InvalidateRect_(WindowID(0),0,0) Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow EndIf