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