FUNCTION init() declare integer GetWindowLong in Win32API integer hWnd, integer nIndex declare integer CallWindowProc in Win32API ; integer lpPrevWndFunc, integer hWnd, integer Msg, integer wParam, integer lParam * Get a handle for the VFP Windows event handler. This.nOldProc = GetWindowLong(_screen.hWnd, GWL_WNDPROC) * Bind to the Windows events we're interested in. bindevent(_vfp.hWnd, WM_ACTIVATE, This, 'HandleEvents') RETURN *- FUNCTION HandleEvents LPARAMETERS HWND, Msg, wParam, tlParam LOCAL lcCaption, lnParm, lcPath IF Msg = WM_ACTIVATE DO CASE CASE wParam = WA_INACTIVE * Handle a deactivate event. THIS.lastwontop=WONTOP() * Handle an activate event (task switch or clicking on the title bar, clicking in the client area of the window). CASE INLIST(wParam, WA_ACTIVE, WA_CLICKACTIVE) IF NOT EMPTY(THIS.lastwontop) ACTIVATE WINDOW (THIS.lastwontop) ENDIF this.lastwontop="" ENDCASE ENDIF *-- this plays the role of dodefault(): RETURN THIS.HandleWindowsMessage(HWND, Msg, wParam, tlParam) *- FUNCTION HandleWindowsMessage LPARAMETERS hWnd, nMsg, wParam, lParam LOCAL nResult nResult = CallWindowProc(This.nOldProc, hWnd, nMsg, wParam, lParam) RETURN nResult>Hi Walter.