when have many Window it confuse me which is active ... so i try some visual Effect

Code: Select all
DEFINE WINDOW MYwin
...
ON GOTFOCUS WinTans(ThisWindow.Name,.T.) ;
ON LOSTFOCUS WinTans(ThisWindow.Name,.F.) ;
Code: Select all
PROCEDURE WinTans(cForm,lOnOff)
LOCAL hWnd
LOCAL bError := ERRORBLOCK( { | oErr | BREAK( oErr ) } )
DEFAULT lOnOff TO .F.
IF !EMPTY(cForm)
BEGIN SEQUENCE
hWnd := GetFormHandle(cForm)
IF lOnOff = .T.
SetLayeredWindowAttributes (hWnd, 0, 255, LWA_ALPHA) // full visible
ELSE
SetLayeredWindowAttributes (hWnd, 0, 128, LWA_ALPHA) // half transparent
ENDIF
END SEQUENCE
ERRORBLOCK( bError )
ENDIF
RETURN
