Vamos criar um programa no Visual Basic e transformá-lo em um Screen Saver. Pode parecer complexo, mas não é. Primeiro vamos criar um programa que vá enchendo a tela de pontos (o código foi tirado de um exemplo do próprio Visual Basic), e , a seguir fazê-lo funcionar como um Screen Saver. Para isto basta atentarmos para os seguintes detalhes: 1-Ao criar o programa o form dever ocupar toda a janela e não ter título, nem os botões para maximizar ou minimizar devem estar habilitados. Valores das propriedades do Form1 ------------------------------------------ Propriedade Valor ------------------------------------------ Caption "" ControlBox False BackColor &H00000000& (preto) MaxButton False MinButton False WindowState 2 -------------------------------------------- 2-Insira o controle Timer no formulário (fig 1.0) e defina as propriedades
fig 1.0 |
Valores das prop. de Timer1 ------------------------------- Propriedade Valor ------------------------------- Name Timer1 Enabled True Interval 60 -------------------------------- |
Private Sub Timer1_Timer()
Dim CX, CY, Msg, XPos, YPos
' Declara as variaveis
ScaleMode = 3
' Define ScaleMode como
' pixels.
DrawWidth = 5
' Define DrawWidth.
ForeColor = QBColor(4)
' Define o background para
vermelho
FontSize = 24
' define o tamanho do ponto
CX = ScaleWidth / 2 '
Obtem o centro horizontal
CY = ScaleHeight / 2
' Obtem o centro vertical.
Cls ' Limpa o formulario
Msg = "Bom Dia!"
CurrentX = CX - TextWidth(Msg) / 2
' posicao Horizontal
CurrentY = CY - TextHeight(Msg)
' posicao Vertical
Print Msg
' imprime mensagem.
Do
Counter = Counter + 1
XPos = Rnd * ScaleWidth
YPos = Rnd * ScaleHeight
PSet (XPos, YPos), QBColor(Rnd * 15)
' desenha o efeito.
DoEvents
If Counter > 2000 Then
'contador para limpar a tela
Counter = 0
Form1.Cls
End If
Loop
' processando
End Sub
4-Como o Screen Saver pode ser ativado mais de uma vez , insira o código a seguir no evento Load do formulário para evitar mais de uma instância de seu aplicativo na memória.
Private Sub Form_Load()
If App.PrevInstance Then
End
End If
End Sub
5-Para encerrar o programa utilize os eventos MouseMove , MouseDown e KeyDown, pois quando o usuário pressionar algo ou movimentar o mouse o Screen Saver deve ser encerrado. Insira os códigos como descrito abaixo :
Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)
End
End Sub
Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)
End
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
End
End Sub
6-Como o evento MouseMove é ativado quando o form for lido pela primeira vez, insira o código abaixo no evento MouseMouse para não fechar o programa na sua ativação.
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static conta As Integer
If conta > 3 Then
End
Else
conta = conta + 1
End If
End Sub
7-Agora ative a opção File->Make EXE File... e informe o nome do seu Screen Saver.
8-Troque a extensão EXE do arquivo gerado para SCR, e copie o arquivo para o diretório \WINDOWS\SYSTEM
9-Agora configure a proteção de tela no seu Windows 95 selecionando o nome do seu programa como o protetor de tela.
10-Se quiser pode incrementar ainda mais este exemplo, mas atenção , eu não testei
este exemplo no Windows 3.X, só no Windows 95.
Tchau!