Clipper On Line • Ver Tópico - msginfo com tempo para fechar sozinho

msginfo com tempo para fechar sozinho

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

msginfo com tempo para fechar sozinho

Mensagempor claudiochaves » 09 Dez 2019 10:43

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,
Claudio Chaves
Desenvolvedor
claudiochaves
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 29
Data de registro: 28 Jul 2017 15:48
Cidade/Estado: campinas/sp
Curtiu: 19 vezes
Mens.Curtidas: 1 vez

msginfo com tempo para fechar sozinho

Mensagempor alaminojunior » 09 Dez 2019 13:32

#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
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar de usuário

alaminojunior
Colaborador

Colaborador
 
Mensagens: 1689
Data de registro: 16 Dez 2005 20:26
Cidade/Estado: Ubatuba - SP
Curtiu: 27 vezes
Mens.Curtidas: 11 vezes

msginfo com tempo para fechar sozinho

Mensagempor claudiochaves » 09 Dez 2019 14:02

Muito obrigado Alamino, abraços
Claudio Chaves
Desenvolvedor
claudiochaves
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 29
Data de registro: 28 Jul 2017 15:48
Cidade/Estado: campinas/sp
Curtiu: 19 vezes
Mens.Curtidas: 1 vez

msginfo com tempo para fechar sozinho

Mensagempor claudiochaves » 29 Jun 2020 17:12

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,

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
Claudio Chaves
Desenvolvedor
claudiochaves
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 29
Data de registro: 28 Jul 2017 15:48
Cidade/Estado: campinas/sp
Curtiu: 19 vezes
Mens.Curtidas: 1 vez




Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro