Um Site sem Nome  

Provided By CGISpy.com
 

Informática
Visual Basic
VB & DirectX
Ficção Científica
Star Wars
Literatura
Diversos
Fanfiction
Star Wars
Star Trek
Arquivo X
Matérias
Academia
Planetary System
Galeria
Fan Art
Desenhos
Imagens
Biblioteca
Ponto de Vista
Tecnologia
Diversos
Interatividade
Fórum
Livro de Visitas
Mailing List
Links
Sobre
Contato
Divulgação
Créditos
Mapa do Site
Downloads

 

Visual Basic

Texto que rola na tela

 

Este projeto mostra como criar um efeito conhecido como rolagem de texto, ou seja, ele permite que possamos fazer com que um texto seja gradualmente exibido da direita para a esquerda.

Para fazer este efeito, é necessário apenas um form, um controle Timer e um controle Shape. Nenhum outro controle adicional é necessário, pois o texto será exibido diretamente no form. A figura 1 mostra o programa em ação.

Fig. 1 - Tela de exemplo do programa.

 

Para criar este programa, você deve criar um novo projeto no Visual Basic, o qual deve conter um form. Altere algumas de suas propriedades de acordo com a tabela a seguir:

Propriedade Valor
Name frmTextTimer
AutoRedraw True
BorderStyle 3 - Fixed Double
Caption Exibindo texto com a ajuda do Timer
Font Courier New - Bold
ForeColor &H000000C0& (vermelho)
ScaleMode 4 - Character
ShowInTaskBar True
StarUpPosition 2 - CenterScreen

Depois de definidas as propriedades do form, adicione um controle Timer, e altere as propriedades como a seguir:

  Propriedade Valor
  Name Timer1
  Interval 150

Em seguida, adicione um controle Shape, definindo suas propriedades como a seguir:

  Propriedade Valor
  Name Shape1
  BackStyle 0 - Transparent
  Height 1,062
  Left 2
  Shape 0 - Rectangle
  Top 1,5
  Width 53

O seu form ficará parecido com o da figura abaixo:

A seguir estão os códigos do programa:

Na seção de declarações gerais especificamos as variáveis que serão utilizadas por todos os módulos:

[Seção de declarações gerais do form]
'Armazena o texto a ser exibido
Dim strTexto As String 		
'Armazena o número de caracteres a serem exibidos
Dim intTamanho As Integer 
'Armazena o número total de caracteres que cabem na tela.
Dim intTamCaixa As Integer 	
'Indica a posição a partir da qual o texto é exibido
Dim intComeço As Integer 	

Através do procedimento Form_Load, que ocorre quando um form é carregado para ser exibido na tela, é preparado o texto a ser exibido, permitindo que ele possa ser alterado mais tarde. Verificamos qual o número de caracteres que cabem na tela. Como o ScaleMode foi definido para caracter, usamos o tamanho do Shape1, que é retornado em caraceteres, para saber o tamanho do texto.

Private Sub Form_Load()
'Cria o texto a ser exibido
strTexto = "Testando frase que rola na tela... "
strTexto = strTexto & "Que a Força esteja com você..."
'Verifica o número de caracteres que podem ser exibidos na
'tela. O tamanho é marcado pelo shape. Como a propriedade
'ScaleMode do form foi definida para 4 - caracter, o
'tamanho do shape indica o número de caracteres que podem
'ser exibidos.
intTamCaixa = Shape1.Width
'Tamanho do texto a ser exibido. Começa com 1 para mostrar
'somente o primeiro caracter.
intTamanho = 1
intComeço = 1
End Sub

O evento a seguir pertence ao controle Timer, e é executado toda vez que o controle Timer completa um intervalo. Neste caso, será executado a cada 150 milisegundos. Dentro deste evento está todo o código responsável pela exibição do texto:


Private Sub Timer1_Timer()
Dim strNovoTexto As String
Dim strEspaços As String
Dim intNumEspaços As Integer
Me.Cls
'Adiciona 1 ao número de caracteres a serem exibidos
intTamanho = intTamanho + 1
'O número de caracteres não pode ultrapassar o número
'de caracteres permitidos na tela. Para isto verifica-se
'se o número de caracteres é superior ao tamanho da caixa
If intTamanho > intTamCaixa Then intTamanho = intTamCaixa
'Calcula o número de espaços necessários que serão
'adicionados ao início do texto, para que o texto
'role da direita para a esquerda.
intNumEspaços = intTamCaixa - intTamanho
'Se o começo do texto não é mais exibido, ou seja, uma
'parte já rolou para fora da tela, não haverão espaços
'no início do texto
If intComeço > 1 Then intNumEspaços = 0
'Se o número de espaços calculado for igual a 1, começa
'a cortar o começo do texto.
If intNumEspaços = 0 Then
	intComeço = intComeço + 1
End If
'Verifica se já chegou ao final da string verificando
'o valor da variável intComeço.
If intComeço > Len(strTexto) Then
	intTamanho = 1
	intComeço = 1
End If
'Cria os espaços necessários para o início do texto
strEspaços = String(intNumEspaços, " ")
'Corta o texto
strNovoTexto = Mid(strTexto, intComeço, intTamanho)
'Junta os espaços com o texto.
strNovoTexto = strEspaços & strNovoTexto
'Posiciona para impressão. Utiliza-se as coordenadas
'X e Y do shape criado.
Me.CurrentX = Shape1.Left
Me.CurrentY = Shape1.Top
'Exibe o texto diretamente no form.
Me.Print strNovoTexto
End Sub

 

Este pequeno projeto encontra-se disponível para download:
vb_project2.zip - 3 Kb

 

 
   
21.08.2000
 
 
2000 - Rashi, an alien in Earth
Todas as marcas citadas são de propriedade de seus respectivos fabricantes.
 
1