Función API para poner la Ventana Principal de VFP en el primer plano fijo, situa nuestra aplicación por encima de cualquier otra que se encuentre abierta en Windows.
*************************************************************************** *************************************************************************** * * Función : VentanaTopMost * Proposito : Pasar la ventana Principal de VFP al primer plano fijo * Situar nuestra aplicación siempre encima de todas las * demas ventanas de windows * Parametros : 1 - Pasar la ventana Principal de VFP al primer plano fijo * 0 - Quitar la ventana Principal de VFP del primer plano fijo * Regresa : Nada * Ejemplo : =VentanaTopMost(1) * *************************************************************************** *************************************************************************** FUNCTION VentanaTopMost(n_Estado) DECLARE Integer SetWindowPos IN WIN32API ; Integer nWnd, ; Integer nWndInsertAfter, ; Integer nTop, ; Integer nLeft, ; Integer nHeight, ; Integer nWidth, ; Integer nFlags DECLARE INTEGER FindWindow IN WIN32API ; STRING cNULL, ; STRING cWinName #define SWP_NOSIZE 1 #define SWP_NOMOVE 2 #define HWND_TOPMOST -1 #define HWND_NOTOPMOST -2 *--- se obtiene el manejador de la ventana principal n_FoxHwnd = FindWindow( 0, _SCREEN.Caption ) *--- si el parametro es 1 IF n_Estado = 1 *--- pasar a primer plano fijo =SetWindowPos(n_FoxHwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE ) ENDIF *--- si el parametro es 0 IF n_Estado = 0 *--- la quita del primer plano fijo =SetWindowPos(n_FoxHwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE ) ENDIF ENDFUNC *************************************************************************** ***************************************************************************
Carlos Tarello (Puebla, Mexico)
Excelente aporte...me solucionó un problemilla que VFP no me ayudaba desde hace tiempo... Mil gracias!!
ResponderBorrar