Ambiente: Windows
Ferramenta: Visual Basic 6
Dificuldade: 3 - Intermediário
Autor: Vitor Vale - Setembro, 2008
Desc.: Criação de uma Proteção de Tela (ScreenSaver) em VB6, Proteção de tela simples, que exibe a hora e um texto definido.


Vou fazer um passo a passo bem simples de como criar um descanso de tela (ScreenSaver) simples que irá exibir a hora atual do sistema e um texto a sua escolha.

1 – Crie um Novo Projeto File>New Project>Standard.exe (Arquivo>Novo Projeto>standard.exe) ou CTRL+N
Altere as seguintes propriedades de seu formulário:
(Name) = frmScreen
BackColor = &H00000000& (preto)
Caption = “ “ (Deixar vazio)
ControlBox = False
MaxButton = False
MiniButton = False
WindowState = 2 – Maximized
2 – Insira um controle Timer (Figura de um relógio na barra de componentes) e altere as seguintes propriedades:
(Name) = tmrScreen
Enabled = True
Interval = 1
3 – Insira um componente Label (Figura de um ‘A’ na barra de componentes) e altere as seguintes propriedades:
(Name) = lblScreen
AutoSize = True
BackStyle = 0 – Transparent
Caption = “ “ (vazio)
Fonte = Lucida Fax, 28, Negrito (aqui fica a seu critério)
ForeColor = &H000000FF& (Vermelho) (aqui fica a seu critério)
Left = 0
Top = 0
[center:202jlu64]#ATENÇÃO: AGORA VEM A PARTE DE CÓDIGOS QUALQUER ERRO AQUI E SEU PROGRAMA NÃO IRÁ FUNCIONAR PERFEITAMENTE#[/center:202jlu64]

4 – Vamos começar declarando as variáveis a serem utilizadas, abra a janela de código clicando em Manu View>Code ou apertando F7, vamos escrever as seguinte linha:
Dim x, y, v, cb, ed As Integer

Onde ‘x’ é o espaçamento horizontal da tela, ‘y’ é o espaçamento vertical da tela, ‘v’ é a velocidade com que o texto e a hora irão se mover, ‘cb’ são as direções cima e baixo e ‘ed’ são as direções esquerda e direita.
5 – Voltemos a tela do formulário Menu View>Object ou Shift+F7, agora vamos inserir o código do evento LOAD do formulário para que possamos definir algumas ações a serem tomadas pelo screensaver durante seu carregamento. Dê dois (2) cliques no formulário e você voltará para a tela de códigos, insira o código abaixo entre o seguinte texto: Private Sub Form_Load() e End Sub

cb = 2 ‘ Define a direção –> 1 - cima, 2 - baixo
ed = 2 ‘ Define a direção –> 1 - esquerda, 2 - direita
v = 100 ‘ Define a velocidade
If App.PrevInstance Then
End
End If
6 – Agora iremos adicionar o código do temporizador (Timer), para ativar de dois (2) cliques no timer e escreva o código abaixo entre o seguinte texto: Private Sub tmrScreen_Timer() e End Sub
If cb = 1 Then X = X - v

If cb = 2 Then X = X + v
If ed = 1 Then Y = Y - v
If ed = 2 Then Y = Y + v
If X >= 8000 Then cb = 1 ‘ Posição máxima a esquerda da tela
If X <= 0 Then cb = 2
If Y >= 10000 Then ed = 1 ‘ Posição máxima a direita da tela
If Y <= 0 Then ed = 2
lblScreen.Top = X ‘ Define a posição horizontal do label
lblScreen.Left = Y ‘ Define a posição vertical do label
lblScreen.Caption = ” Vitorvale” & (Chr(13)) & “www.almaobscura.vai.la” & (Chr(13)) & ” ” & Time$ ‘ Faz o label exibir as horas e o texto, altere de acordo com sua preferência, mas deixe o Time$ para que seja exibida a hora
7 – Para finalizar a proteção de tela estaremos utilizando três (3) eventos possíveis, MouseMove (Mover o mouse com atenção especial) , MouseDown (Clicar com botão do mouse) e KeyPress (Pressionar alguma tecla), essa parte é bem simples, basta adicionar a função “End”(sem aspas) para a ação de cada evento, para os iniciantes vou colocar aqui o trecho de código completo:
Código:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
‘ Finaliza a proteção de tela ao pressionar do mouse
End
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
‘ Finaliza a proteção de tela ao pressionar de qualquer tecla
End
End Sub
7.1 – Atenção especial ao evento MouseMove, como ele é ativado quando o form é lido a primeira vez, vamos inserir uma instrução If..Else..EndIf (Se..Senao..Fimse) para que ele não finalize ao iniciar:
Código:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
‘ Finaliza a proteção de tela ao mover do mouse
‘ Como o evento MouseMove é ativado quando o form for lido pela primeira vez,
‘ o código abaixo não deixa fechar o programa na sua ativação.
Static conta As Integer
If conta > 3 Then
End
Else
conta = conta + 1
End If
End Sub
8 – Pronto está terminado a ScreenSaver, aperte F5 para testar e para finalizar compile o seu projeto indo em File>Make Poject1.EXE (Arquivo>Compilar Projeto1.EXE).

9 – Altere a extenção do arquivo de .exe para .scr, e copie o arquivo para C:\WINDOWS\system32

10 – Agora configure a proteção de tela do seu Windows selecionando o nome do seu ScreenSaver como o protetor de tela.

[center:202jlu64]CÓDIGO FONTE COMPLETO PARA QUEM QUISER ESTUDAR

LINK 1 | LINK 2 | LINK 3[/center:202jlu64]

Fonte: AlmaObscura 8)

Espero que tenham gostado e que tenham conseguido...