IsForeground() ??

Post Reply
User avatar
MarcoBoschi
Posts: 925
Joined: Thu Nov 17, 2005 11:08 am
Location: Padova - Italy
Contact:

IsForeground() ??

Post by MarcoBoschi »

Does exist a function which tells me if the application is foreground()?
In this little program instead of TIME() the value of this function
"Foreground" OR "Background"

Many thanks
Marco

Code: Select all

#include "fivewin.ch"

FUNCTION MAIN()
LOCAL oMain
DEFINE WINDOW oMain

ACTIVATE WINDOW oMain ON INIT dialogo()

RETURN NIL

FUNCTION DIALOGO()
LOCAL oDlg
LOCAL oSay
LOCAL oTimer 

DEFINE DIALOG oDlg

@ 1 , 1 SAY oSay PROMPT "PROVA" OF oDlg

DEFINE TIMER oTimer OF oDlg INTERVAL 1000 ACTION oSay:settext( TIME() )

ACTIVATE DIALOG oDlg ON INIT ( oTimer:hWndOwner := oDlg:hWnd , oTimer:Activate()  )

RELEASE TIMER oTimer

RETURN NIL
 
Marco Boschi
info@marcoboschi.it
User avatar
MarcoBoschi
Posts: 925
Joined: Thu Nov 17, 2005 11:08 am
Location: Padova - Italy
Contact:

Re: IsForeground() ??

Post by MarcoBoschi »

solved!

Code: Select all

#include "fivewin.ch"

STATIC hWnd

FUNCTION MAIN()
LOCAL oMain


DEFINE WINDOW oMain

ACTIVATE WINDOW oMain ON INIT dialogo()

RETURN NIL

FUNCTION DIALOGO()
LOCAL oDlg
LOCAL oSay
LOCAL oTimer


DEFINE DIALOG oDlg

@ 1 , 1 SAY oSay PROMPT "PROVA" OF oDlg

DEFINE TIMER oTimer OF oDlg INTERVAL 1000 ACTION oSay:settext( IIF( isforeground() , "Foreground" , "Back" ) )

ACTIVATE DIALOG oDlg ON INIT ( oTimer:hWndOwner := oDlg:hWnd , oTimer:Activate()  ) ;
                     ON PAINT hWnd := GETFOREGROUNDWINDOW()

RELEASE TIMER oTimer

RETURN NIL

FUNCTION ISFOREGROUND()
LOCAL lRitorna := .T.
IF GETFOREGROUNDWINDOW() <> hWnd
   lRitorna := .F.
ENDIF
RETURN lRitorna



DLL32 FUNCTION GETFOREGROUNDWINDOW() AS LONG PASCAL FROM "GetForegroundWindow" LIB "user32.dll"
 
Marco Boschi
info@marcoboschi.it
User avatar
Eoeo
Posts: 222
Joined: Mon Jun 04, 2012 12:00 pm

Re: IsForeground() ??

Post by Eoeo »

nice!
Post Reply