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,
msginfo com tempo para fechar sozinho
Moderador: Moderadores
-
claudiochaves
- Usuário Nível 1

- Mensagens: 35
- Registrado em: 28 Jul 2017 15:48
- Localização: campinas/sp
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
msginfo com tempo para fechar sozinho
Código: Selecionar todos
#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 )
RETURNCódigo: Selecionar todos
STATIC FUNCTION onOtherMessages(oo)
IF LASTKEY() = 27
oo:Close( )
ENDIF
returnCompilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
-
claudiochaves
- Usuário Nível 1

- Mensagens: 35
- Registrado em: 28 Jul 2017 15:48
- Localização: campinas/sp
-
claudiochaves
- Usuário Nível 1

- Mensagens: 35
- Registrado em: 28 Jul 2017 15:48
- Localização: campinas/sp
msginfo com tempo para fechar sozinho
Oi Pessoal, boa tarde.
Com os exemplos e ajuda dos colegas, cheguei neste resultado. Deixo aqui caso alguém necessite de um exemplo.
Com certeza, tem o que melhorar, mas já atendeu minhas necessidades.
Obrigado a todos, abraços,
Com os exemplos e ajuda dos colegas, cheguei neste resultado. Deixo aqui caso alguém necessite de um exemplo.
Com certeza, tem o que melhorar, mas já atendeu minhas necessidades.
Obrigado a todos, abraços,
Código: Selecionar todos
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
returnClaudio Chaves
Desenvolvedor
Desenvolvedor
msginfo com tempo para fechar sozinho
Ola claudio chaves,
No seu código faltou a função RCG_SetGet_Refresh()
No seu código faltou a função RCG_SetGet_Refresh()
