Aquí les dejo la Función (adaptada): FUNCTION OnMouseHover( hWnd, cFormName )
para poderla utilizar en varias definiciones de ventanas. Ejemplos...
*-------------------------------------------------------------------------------------------------------------------
Hi
Here is the Function (adapted): FUNCTION OnMouseHover (hWnd, cFormName)
so that it can be used in various window definitions. Examples ...
*--------------------------------------------------------------------------------------------------------
DEFINE WINDOW FormMain AT 0 , 0 WIDTH 1024 HEIGHT 570 MAIN NOSYSMENU BACKCOLOR BLUE TITLE " M E S A S "
..........
END WINDOW
CENTER WINDOW FormMain
CREATE EVENT PROCNAME OnMouseHover( EventWPARAM(), "FormMain" ) HWND FormMain.Handle
ACTIVATE WINDOW FormMain
*--------------------------------------------------------------------------------------------------------
DEFINE WINDOW Form_Labels AT 0,0 WIDTH 665 HEIGHT 610 TITLE 'LABEL DEMO' CHILD BACKCOLOR GRAY
..........
END WINDOW
CENTER WINDOW Form_Labels
CREATE EVENT PROCNAME OnMouseHover( EventWPARAM(), "Form_Labels" ) HWND Form_Labels.Handle
ACTIVATE WINDOW Form_Labels
*--------------------------------------------------------------------------------------------------------
Code: Select all
FUNCTION OnMouseHover( hWnd, cFormName ) // Funciona para utilizar en varias FORMAS
LOCAL cControl := "", cForm := ""
GetControlNameByHandle( hWnd, @cControl, @cForm )
IF EMPTY( cControl ) .OR. GetControlType( cControl, cForm ) <> "LABEL" // Validar solo Control LABEL
RETURN
ENDIF
SetProperty( cForm, "Title", cFormName + " - " + cControl ) // Para saber donde estoy... Quitar luego
DO CASE
CASE cFormName == "FormMain"
IF ! EMPTY( cPrevious1 ) // cPrevious1 definido como PRIVATE en MAIN
IF ! ( cControl == cPrevious1 )
SetProperty( cFormName, cPrevious1, "BackColor", WHITE ) // El mismo Color como se definió
SetProperty( cFormName, cPrevious1, "FontColor", BLACK ) // El mismo Color como se definió
ELSE
SetProperty( cFormName, cPrevious1, "BackColor", { 173 , 255 , 47 } )
SetProperty( cFormName, cPrevious1, "FontColor", BLUE )
ENDIF
ENDIF
cPrevious1 := cControl
CASE cFormName == "Form_Labels"
IF ! EMPTY( cPrevious2 ) // cPrevious2 definido como PRIVATE en MAIN
IF ! ( cControl == cPrevious2 )
SetProperty( cFormName, cPrevious2, "BackColor", { 65 , 105 , 225 } ) // El mismo Color como se definió
SET CONTROL &cPrevious2 OF &cFormName NOTEDGE // STATICEDGE
ELSE
SetProperty( cFormName, cPrevious2, "BackColor", BLUE )
SET CONTROL &cPrevious2 OF &cFormName CLIENTEDGE
ENDIF
ENDIF
cPrevious2 := cControl
ENDCASE
RETURN
Hay que estar activos mientras estamos en cuarentena...
*----------------------------------------------------------------------------
We must be active while we are in quarantine ...