Clipper On Line • Ver Tópico - Banner (letreiro) com HwGui

Banner (letreiro) com HwGui

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Banner (letreiro) com HwGui

Mensagempor asimoes » 17 Mar 2014 19:02

Exemplo de banner (marquee) com hwgui.
*********************************************************************
* Programa : BANNER                                                 *
* Autor    : Alexandre Simões                                       *
* Data     : 22/09/2013                                             *
* Descricao: Gerar animação tipo banner                             *
*********************************************************************
#include "hbcompat.ch"
#include "common.ch"
#include "set.ch"
#include "hwgui.ch"

FUNCTION Main
LOCAL oIconApp:=HIcon():AddResource("ICON_1")
LOCAL addX:=20, nWidth:=768, nHeight:=200
PRIVATE oDialogWindow, oLabel, oTimer, lFecharWindow:=.F.

   PREPARE FONT oFont NAME "Courier New" WIDTH 14 HEIGHT -15
   
   INIT DIALOG oDialogWindow ;
        TITLE   "Banner" ;
        ICON    oIconApp ;
        AT      0,0 ;
        SIZE    nWidth,nHeight ;
        FONT    oFont ;
        COLOR   16760439 ;
        STYLE   DS_CENTER + WS_VISIBLE + WS_SYSMENU

   @ 0,0 SAY oLabel CAPTION "" ;
                    FONT oFont ;
                    STYLE SS_LEFT + WS_BORDER ;
                    COLOR hwg_RGB(0,0,255) BACKCOLOR 16777172

   oLabel:bSize := { | o, x, y | hwg_MoveWindow( o:handle, addX / 2, nHeight - 60, x - addX, 20 ) }

   Liga_Timer(oDialogWindow,.T.)
   
   oDialogWindow:Center()
   
   oDialogWindow:Activate() // Parâmetro .T. = NOMODAL, .F. ou () = MODAL

RETURN Nil

FUNCTION Liga_Timer(oJanela,lLiga)
MEMVAR oTimer
   IF lLiga
      SET TIMER oTimer of oJanela VALUE 300 ACTION {|| Letreiro() }
   ELSE
      oJanela:oTimer:End()   
   ENDIF
RETURN Nil

FUNCTION Letreiro()
LOCAL nTamanho:=(oDialogWindow:nWidth -25) /14
STATIC cTime
STATIC _RODAESQ
STATIC _RODADIR
   
   IF _RODAESQ = NIL
       cTime:=Time()
       cTexto:=' Teste de Banner (letreiro) com HwGui'
       aSize:=hwg_TxtRect( cTexto, oDialogWindow:aControls[1] )
       cTexto:=Space(nTamanho-(aSize[1] / 14))+cTexto
       _RODAESQ:=cTexto
   ENDIF

   IF _RODADIR = NIL
       cTexto:='Teste de Banner (letreiro) com HwGui '
       aSize:=hwg_TxtRect( cTexto, oDialogWindow:aControls[1] )
       cTexto:=Space(nTamanho-(aSize[1] / 14))+cTexto
      _RODADIR:=cTexto //PADL(cTexto,Len(Space(nTamanho-nLen))," ") //Roda para esquerda
   ENDIF

   //_RODADIR := SUBSTR(_RODADIR,LEN(_RODADIR))+SUBSTR(_RODADIR,1,Len(_RODADIR)-1) //PARA DIREITA
   _RODAESQ := SUBSTR(_RODAESQ,2,LEN(_RODAESQ))+SUBSTR(_RODAESQ,1,1)             //PARA ESQUERDA
   
   oLabel:caption:=_RODAESQ
   hwg_doevents()
RETURN Nil

FUNCTION Sair
   lFecharWindow:=.T.
   HWG_ExitProcess()
RETURN -1 

INIT FUNCTION AppSetup()
 
  REQUEST HB_LANG_PT
  REQUEST HB_CODEPAGE_PT850
  HB_LANGSELECT("PT")
  HB_CDPSELECT( "PT850" )

  SET CENTURY ON
  SET EPOCH TO 1920
  SET DATE BRITI

RETURN Nil
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Banner (letreiro) com HwGui

Mensagempor marcos.gurupi » 17 Mar 2014 19:39

So funciona com harbour ?
Marcos Roberto
NetService Software
marcos.gurupi
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 930
Data de registro: 06 Jul 2004 11:53
Cidade/Estado: Gurupi-TO
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

Banner (letreiro) com HwGui

Mensagempor asimoes » 17 Mar 2014 20:25

Marcos,

Este exemplo pode ser compilado com xharbour também, verificar as funções que tem hwg_* que provavelmente na versão hwgui mais antiga não tenha esta inicial.
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Banner (letreiro) com HwGui

Mensagempor asimoes » 18 Mar 2014 06:46

Continuando...

Consegui um efeito melhor centralizando.
 @ 0,0 SAY oLabel CAPTION "" ;
                    FONT oFont ;
                    STYLE SS_CENTER + WS_BORDER ;
                    COLOR hwg_RGB(0,0,255) BACKCOLOR 16777172


Pode colocar também no caption da janela:
oDialogWindow:caption:=_RODAESQ
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Banner (letreiro) com HwGui

Mensagempor marcos.gurupi » 18 Mar 2014 10:37

Ola
Tirando a inicial hwg_ eu consegui que ficassem apenas dois erros:

DoEvents() e HB_CDPSELECT()

O meu xhb eh o 1.0.0 e hwgui 2.17
Marcos Roberto
NetService Software
marcos.gurupi
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 930
Data de registro: 06 Jul 2004 11:53
Cidade/Estado: Gurupi-TO
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

Banner (letreiro) com HwGui

Mensagempor asimoes » 18 Mar 2014 17:09

A função doevents() deixa assim hwg_doevents() e HB_CDPSELECT => HB_SETCODEPAGE
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Banner (letreiro) com HwGui

Mensagempor rubens » 26 Out 2017 13:53

Boa Tarde...

ASimoes...

Chegou a implementar essa função para minigui ?
Se sim tem como postar o código... ?

Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes




Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 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