Ola,
Alguém teria algum exemplo de codigo para criar um msginfo com tempo para caso o usuario nao clique , ele feche sozinho?
Obrigado, abraços,

Moderador: Moderadores
#include "hwgui.ch"
STATIC Thisform
FUNCTION troco(vTroco)
LOCAL ootroco, oTroco, oLabel1, oTimer1Troco, oLabel2
if vTroco = nil .or. vTroco = 0
return
endif
INIT DIALOG ootroco TITLE "" ;
AT 0, 0 SIZE 548,156 ;
FONT HFont():Add( 'Tahoma',0,-67,700,,,) ;
STYLE WS_POPUP + DS_CENTER + WS_VISIBLE + WS_SYSMENU + MB_USERICON ;
ON OTHERMESSAGES {|| onOtherMessages(ootroco) }
Thisform:= ootroco
SET TIMER otimer1troco OF ootroco VALUE 20000 ACTION {|| ootroco:CLOSE() } // aqui pode ser parametrizado 5, 10, 20, 30 segundos ...
@ 70,38 GET oTroco VAR vTroco SIZE 408,83 ;
STYLE ES_RIGHT +ES_READONLY ;
COLOR 255 PICTURE '@E 999,999.99' MAXLENGTH 10 NOBORDER
@ 13,2 SAY oLabel1 CAPTION "Troco" SIZE 85,36 ;
FONT HFont():Add( 'Tahoma',0,-28,700,,,)
@ 7,140 SAY oLabel1 CAPTION "ESC - Sai" SIZE 58,21 ;
FONT HFont():Add( 'Tahoma',0,-12,700,,,)
ACTIVATE DIALOG ootroco
UPDATEWINDOW( ootroco:handle )
RETURN
STATIC FUNCTION onOtherMessages(oo)
IF LASTKEY() = 27
oo:Close( )
ENDIF
return
FUNCTION AVISAR( pTempo , pTitulo , pMsg , pLargura , pAltura )
LOCAL oAvisarTempoStatus , oAvisarTempoTimer , oAvisarTempoLblSaida , oAvisarTempoLblMsg , vAvisarMsg , vTmpCont
Private oAvisarTempoDlg
if pLargura = Nil ; pLargura := 600 ; Endif
if pAltura = Nil ; pAltura := 200 ; Endif
vAvisarMsg := ""
For vTmpCont=1 to len(pMsg)
vAvisarMsg := vAvisarMsg + iif( subs( pMsg,vTmpCont,1) = ";" , chr(13)+CHR(10) , subs( pMsg,vTmpCont,1) )
Next
INIT DIALOG oAvisarTempoDlg TITLE pTitulo AT 0, 0 SIZE pLargura,pAltura FONT RCG_Font_Arial_10 STYLE WS_POPUP + DS_CENTER + WS_VISIBLE + WS_SYSMENU + MB_USERICON ON OTHERMESSAGES {|| onOtherMessages(oAvisarTempoDlg) }
Thisform:= oAvisarTempoDlg
SET TIMER oAvisarTempoTimer OF oAvisarTempoDlg VALUE 1000 ACTION {|| TimerAvisar(oAvisarTempoDlg , oAvisarTempoLblSaida , oTroco , oBtnx_AvisarTempoSaida ) } // aqui pode ser parametrizado 5, 10, 20, 30 segundos ...
@ 10 , 5 BUTTONEX oBtnx_AvisarTempoSaida CAPTION "Esc - Sair" SIZE 80 , 25 STYLE BS_CENTER + WS_TABSTOP FONT RCG_Font_Arial_8 ON CLICK {|| EndDialog() } TOOLTIP "Finalizar tela"
@ pLargura-50 , 5 GET oTroco VAR pTempo SIZE 40 , 25 STYLE ES_RIGHT + ES_READONLY FONT RCG_Font_Arial_8 PICTURE "999" NOBORDER
@ 10 , 40 GET oAvisarTempoLblMsg VAR vAvisarMsg SIZE pLargura-20 , pAltura-50 STYLE ES_MULTILINE +ES_WANTRETURN +ES_AUTOVSCROLL +WS_VSCROLL+ES_READONLY FONT RCG_Font_Arial_10_Negrito
ACTIVATE DIALOG oAvisarTempoDlg
UPDATEWINDOW( oAvisarTempoDlg:handle )
Return .t.
Function TimerAvisar( pObjTela , pObjLbl , pObjConta , pBotao )
RCG_SetGet_Refresh( pObjConta , str( pObjConta:Value-1,3) )
if pObjConta:Value < 1
pObjTela:CLOSE()
Endif
Return .t.
STATIC FUNCTION onOtherMessages(pObjTela)
IF LASTKEY() = 27
pObjTela:Close( )
ENDIF
return
Usuários vendo este fórum: Nenhum usuário registrado online e 3 visitantes