Salvapantallas de diseño de cursos de VB
Tengo un tutorial sobre salvapantallas en VB, ¡pero lamentablemente hay demasiadas palabras para publicarlo aquí!
2. Generar interfaz
Valor de configuración de propiedad del objeto
Form1 AutoRedraw True
BackColor Black
BorderStyle 0. - Ninguno
Título Mi mundo de programación...
ControlBox False
KeyPreview True
MaxButton False
MinButton False
Nombre frmScreenSaver
ScaleMode 3 - Píxel
WindowState 2 - Maximizado
Label1 AutoSize True
BackStyle 0 - Transparente
BorderStyle 0 - Ninguno
Título Mi mundo de programación...
ForeColor Rojo
Fuente pequeña y redonda p> p>
Temporizador1 habilitado Falso
Intervalo 1
Agregue el siguiente código bajo el formulario:
Opción explícita
Dim QuitFlag As Boolean
Const SPI_SETSCREENSAVEACTIVE = 17
Función de declaración privada SetWindowPos Lib "user32" ( _
ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal X As Long, _
ByVal Y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long _
) As Long
Función de declaración privada ShowCursor Lib "user32" ( _
p>ByVal bShow As Long _
) As Long
Declaración privada Sub Sleep Lib "kernel32" (ByVal dwMillisegundos As Long)
Función de declaración privada SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" ( _
ByVal uAction As Long, _
ByVal uParam As Long, _
ByVal lpvParam Mientras, _
ByVal fuWinIni Mientras _
) Mientras
Private Sub Form_Click()
QuitFlag = True
Fin Sub
Pr
ivate Sub Form_KeyDown(KeyCode como entero, Shift como entero)
QuitFlag = True
End Sub
Private Sub Form_Load()
Dim Throw As Long
Throw = SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, ByVal 0&, 0)
Seleccionar caso UCase$(Left$(Command$, 2))
Caso "/A"
MsgBox "No se puede establecer una contraseña para este protector de pantalla."
Descargarme
Salir de Sub
Case "/C"
MsgBox "Este protector de pantalla no tiene configuración.
"
Descargarme
Salir Sub
Caso "/P"
Descargarme
Salir Sub
Caso "/S"
Mostrar
Lanzar = MostrarCursor(False)
Lanzar = SetWindowPos(hwnd, -1, 0, 0, 0, 0, (&H2 O &H1))
Label1.Left = frmScreenSaver.ScaleWidth
Label1.Top = (frmScreenSaver.ScaleHeight - Label1.Height) / 2 p>
Hacer
Etiqueta1.Left = Etiqueta1.Left - 3
Dormir (50)
Si Etiqueta1.Left <= -Label1.Width Luego Label1.Left = frmScreenSaver.ScaleWidth + Label1.Width
DoEvents
Bucle hasta QuitFlag = True
Timer1.Enabled = True
Caso más
Descargarme
Salir Sub
Finalizar selección
Fin Sub
Sub privado Form_MouseMove( Botón como entero, Mayús como entero, X como único, Y como único)
Dim Xnow como único, Ynow como único
Xúltimo estático como único, Yúltimo como único
Xnow = X
Ynow = Y
Si Xlast = 0 y Ylast = 0 entonces
Xlast = Xnow
Ylast = Ynow
Salir Sub
Fin si
Si Xnow <> Xlast o Ynow <> Ylast Entonces
QuitFlag = True p>
Finalizar si
End Sub
Sub privado Form_Unload(Cancelar como entero)
Atenuar lanzamiento mientras sea largo
Lanzar = Parámetros del sistemaI
nfo(SPI_SETSCREENSAVEACTIVE, 1, ByVal 0&, 0)
Throw = ShowCursor(True)
End Sub
Subetiqueta privada1_Click()
QuitFlag = True
End Sub
Subetiqueta privada1_MouseMove(Botón como entero, Mayús como entero, X como único, Y como único)
QuitFlag = Verdadero
End Sub
Private Sub Timer1_Timer()
Descargarme
Fin Sub