LOCAL lhWnd LOCAL lhRgn1, lhRgn2, lhRgn3, lhRgn4, lhRgn5, lhRgn6, lhRgn DECLARE LONG FindWindowA IN WIN32API STRING class, STRING title DECLARE LONG CreateEllipticRgn in WIN32API INTEGER left, INTEGER top, INTEGER right, INTEGER bottom DECLARE LONG CreateRectRgn in WIN32API INTEGER left, INTEGER top, INTEGER right, INTEGER bottom DECLARE INTEGER SetWindowRgn in WIN32API LONG hWnd, LONG hRgn, INTEGER redraw DECLARE INTEGER CombineRgn in WIN32API LONG hRgnDest, LONG hRgn1, LONG hRgn2, INTEGER combinemode lhWnd = FindWindowA(0, _VFP.Caption) lhRgn = CreateRectRgn(0, 0, _VFP.Width, _VFP.Height) lhRgn1 = CreateRectRgn(0, 0, _VFP.Width, _VFP.Height) lhRgn2 = CreateRectRgn(40, 40, _VFP.Width - 40, _VFP.Height - 40) ? CombineRgn(lhRgn, lhRgn1, lhRgn2, 3) ? SetWindowRgn(lhWnd, lhRgn, 1)Make sure VFP is not maximised and run, their should be a hole. If this does not do what you want then you must use the SetLayeredWindowAttributes API calls (Win2K only)