Letreiro Digital com Label

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Letreiro Digital com Label

Mensagem por rubens »

Boa tarde..

Como eu posso fazer um letreiro digital (marquee) com Label ?
Estou apanhando até com esse negócio aqui...
Eu gostaria que corresse da direita para a esquerda, fosse até o fim e começasse novamente da direita para esquerda... Só consegui jogar do centro para os lados..

Código: Selecionar todos

		DEFINE LABEL lb_EMPRESA
			PARENT formPDV_000
			ROW	(hjan)-35
			COL	300
			width (wjan)-600
			height 35
			value (cEmpresa)
			fontname "Tahoma"
			fontcolor WHITE
			fontsize 12
			fontbold .T.
			transparent .T.
			FONTUNDERLINE .F.
			BORDER .F.
			ALIGNMENT Center
			VCENTERALIGN .T.
		END LABEL			

Código: Selecionar todos

DEFINE TIMER Timer_1 ;
			INTERVAL 400 ;
			ACTION { || formPDV_000.lb_hora.Value := Time(), Marquee( ThisWindow.Name, 'lbEmpresa' ) }  

Código: Selecionar todos

Static Function Marquee(cForm,cLbNome)  
	cString := Left( cEmpresa, Len(cEmpresa)+1 - nTamSpaco ) 
	nTamSpaco--
	If nTamSpaco = 0
		nTamSpaco := Len( cEmpresa )
	EndIf
	SetProperty( cForm, cLbNome, 'Value', cString ) 
	SetProperty( cForm, 'LbEmpresa_Fdo', 'Value', cString ) 
	Return Nil
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
luiz antonio da silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 161
Registrado em: 21 Nov 2006 22:12
Localização: serrana-sp

Letreiro Digital com Label

Mensagem por luiz antonio da silva »

Olá Rubens !

Segue uma ideia...espero que ajude

Abraço.
Luiz
Anexos
marquee.zip
(1.46 MiB) Baixado 144 vezes
HMG 3.4.4 - SQL SERVER - ORACLE
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

Letreiro Digital com Label

Mensagem por Daniel »

Outro exemplo

Código: Selecionar todos

/*
 * MINIGUI - Harbour Win32 GUI library Demo
 *
*/

#include "minigui.ch"

Function Main
nInicio:= nInicio1:= 480
cEmpresa  := 'Teste de Letreiro'
nTamSpaco := 5

   	DEFINE WINDOW formPDV_000 ;
	   	CLIENTAREA 620, 240 ;
	   	TITLE 'Letreiro' ;
		   MAIN

		DEFINE WINDOW Win_2 ;
			ROW  0 ;
			COL 20 ;
			WIDTH 580 ;
			HEIGHT 40 ;
			WINDOWTYPE PANEL

         DEFINE LABEL lb_EMPRESA
            ROW     5
            COL   100
            width 5
            height 35
            fontname "Tahoma"
            fontsize 12
            fontbold .T.
            transparent .T.
            FONTUNDERLINE .F.
            BORDER .F.
            VCENTERALIGN .T.
         END LABEL

         DEFINE LABEL lb_Time
            ROW     5
            COL   500
            width 100
            height 35
            fontname "Tahoma"
            fontsize 12
            fontbold .T.
            transparent .T.
            FONTUNDERLINE .F.
            BORDER .F.
            VCENTERALIGN .T.
         END LABEL

         DEFINE TIMER Timer_1 ;
            INTERVAL 40 ;
            ACTION  Marquee( 'Win_2', 'lb_Empresa', 'lb_Time')

      END WINDOW
	END WINDOW
	formPDV_000.Center
	formPDV_000.Activate
   Return Nil

******************************
Static Function Marquee(cForm, cLbNome, cLbTime)

   If nTamSpaco <= nInicio + (Len(cEmpresa) * 12)
      nTamSpaco+= 4.8
      SetProperty( cForm, cLbNome, 'width', nTamSpaco)
      nInicio1-= 4.8
      SetProperty( cForm, cLbNome, 'col', nInicio1)
   Else
  		nTamSpaco:= 5
  		nInicio:= nInicio1:= 480
  		SetProperty( cForm, cLbNome, 'width', 5)
  		SetProperty( cForm, cLbNome, 'col', 100)
   EndIf
   SetProperty( cForm, cLbTime, 'Value', time() )
   SetProperty( cForm, cLbNome, 'Value', cEmpresa )
   Return Nil
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Responder