FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour IsForeground() ??
Posts: 1091
Joined: Thu Nov 17, 2005 11:08 AM
IsForeground() ??
Posted: Thu Sep 20, 2012 07:18 AM
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 (fw): Select all Collapse
#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
Posts: 1091
Joined: Thu Nov 17, 2005 11:08 AM
Re: IsForeground() ??
Posted: Thu Sep 20, 2012 07:31 AM
solved!

Code (fw): Select all Collapse
#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
Posts: 222
Joined: Mon Jun 04, 2012 12:00 PM
Re: IsForeground() ??
Posted: Thu Sep 20, 2012 08:25 AM

nice!

Continue the discussion