#Define BOOL long #Define HANDLE long #Define PSTR String @ #Define PRECT String @ #Define R2_NOTXORPEN 10 #Define HWND_DESKTOP 0 #Define NULL_BRUSH 5 Declare BOOL Rectangle in GDI32 ; HANDLE hDC, Integer nLeftRect, Integer nTopRect, ; Integer nRightRect, Integer nBottomRect Declare BOOL GetWindowRect in User32 HANDLE nhWnd, PRECT lpRect Declare HANDLE GetDC in User32 HANDLE nhWnd Declare HANDLE SelectObject in GDI32 HANDLE hDC, HANDLE hObject Declare Integer ReleaseDC in User32 HANDLE nhWnd, HANDLE hDC Declare BOOL ClientToScreen in User32 HANDLE nhWnd, PSTR cPoint Declare Integer SetROP2 in GDI32 HANDLE hDC, Integer fnDrawMode Declare HANDLE GetStockObject in GDI32 Integer fnObject Local lh_DC, lh_OldBrush, lh_OldPen Local lc_Rect, ln_Left, ln_Top, ln_Right, ln_Bottom lc_Rect = space( 16 ) GetWindowRect( ThisForm.hWnd, @lc_Rect ) ** 1st coordinate lc_Point = left( lc_Rect, 8 ) ClientToScreen( HWND_DESKTOP, @lc_Point ) ln_Left = Buff2Num( lc_Point, (4*0)+1, .F. ) ln_Top = Buff2Num( lc_Point, (4*1)+1, .F. ) ** 2nd coordinate lc_Point = right( lc_Rect, 8 ) ClientToScreen( HWND_DESKTOP, @lc_Point ) ln_Right = Buff2Num( lc_Point, (4*0)+1, .F. ) - 1 ln_Bottom = Buff2Num( lc_Point, (4*1)+1, .F. ) - 1 ** Draw to the DC lh_DC = GetDC( HWND_DESKTOP ) lh_OldBrush = SelectObject( lh_DC, GetStockObject(NULL_BRUSH) ) SetROP2( lh_DC, R2_NOTXORPEN ) Rectangle( lh_DC, ln_Left, ln_Top, ln_Right, ln_Bottom ) SelectObject( lh_DC, lh_OldBrush ) ReleaseDC( HWND_DESKTOP, lh_DC )Regards