VB diseña un reloj digital que puede mostrar la hora actual y decir la hora a la hora designada después de clase.
Función: Muestra un reloj animado que cambia dinámicamente con cada segundo.
Descripción del programa
1. ¿Cómo dibujar todos los elementos rectos en la esfera de un reloj?
Utilice el comando Cargar para crear 14 copias del control Línea original (porque el dial tiene 12 puntos y horas, minutos, segundos y 15 líneas) y establezca los atributos de coordenadas del punto final de cada instancia del control. La mayoría de estas copias se colocan solo una vez para la posición adecuada de cada línea en el dial del reloj, mientras que los controles de 3 líneas se actualizan cada segundo, creando la sensación de que las manecillas del reloj se mueven.
Nota: No se borran líneas directamente en el código de la aplicación. Cuando cambiamos el punto final de cada control de Línea, VB maneja todo el trabajo técnico de borrar y volver a dibujar cada aguja a medida que se mueve.
2. ¿Cómo modificar la forma de la manecilla de las horas?
La forma del reloj se puede cambiar ajustando la configuración de propiedades en el código. Por ejemplo, puede crear líneas más finas o más gruesas cambiando la configuración de la propiedad Ancho de borde de cada control Línea.
3. Establezca la propiedad Intervalo del temporizador.
Establezca la propiedad Intervalo del temporizador en 100, que es 1/10 de segundo.
Escritura y ejecución de programas
(1) Crear un nuevo proyecto
Primero cree un nuevo proyecto (el tipo de proyecto es EXE estándar) y luego use el "Caja de herramientas" La herramienta agrega un Timer1 (temporizador) y una línea1 (línea), cuyo índice (puntero) se establece en nulo y 0 respectivamente. Luego haga doble clic en el formulario Form1 e ingrese el código fuente.
(2) Código fuente del programa
Opción explícita
DefDbl A-Z
Sub privado Form_Load()
Temporizador1.Intervalo = 100
Ancho = 4000
Alto = 4000
Izquierda = Pantalla.Ancho \ 2 - 2000
Arriba = (Screen.Height - Height) \ 2
End Sub
Private Sub Form_Resize()
Dim I, Angle
Indicador estático Como booleano
Si flag = False Entonces
flag = True
Para I = 0 a 14
'Dibuja 12 puntos de dial, horas, minutos y segundos*** 15 líneas
Si obtengo 0, entonces cargo Line1(I)
Line1(I).Visible = True
Line1(I).BorderWidth = 5
Line1(I).BorderColor = RGB(200, 100, 60)'Establece la finura y el color de LINE
Siguiente I
Finalizar si
Para I = 0 a 14
Escala (-1, 1)-(1, -1)
Ángulo = I * 2 * Atn(1) / 3
Línea1(I).X1 = 0.9 * Cos(Ángulo)
Línea1(I).Y1 = 0.9 * Sin(Ángulo )
Línea1(I).X2 = Cos(Ángulo)
Línea1(I).Y2 = Sin(Ángulo)
Siguiente I
Fin Sub
Sub privado Timer1_Timer()
Const HH = 0
Const MH = 13
Const SH = 14 p>
Ángulo de atenuación
LS estático
Si segundo (ahora) = LS, entonces salga de Sub
LS = segundo (ahora)
p>Ángulo = 0.5236 * (15 - (Hora(Ahora) Minuto(Ahora) / 60))'Establecer la manecilla de hora
Línea1(HH).X1 = 0
Línea1(HH).Y1 = 0
Línea1(HH).X2 = 0.3 * Cos(Ángulo)
Línea1(HH).Y2 = 0.3 * Sin(Ángulo) p>
Ángulo = 0.1047 * (75 - (Minuto(Ahora) Segundo(Ahora) / 60))'Establecer minutero
Línea1(MH).X1 = 0
Línea1(MH).Y1 = 0
Línea1(MH).X2 = 0.7 * Cos(Ángulo)
Línea1(MH).Y2
= 0.7 * Sin(Ángulo)
Ángulo = 0.5236 * (75 - Segundo(Ahora) / 5)'Configurar el segundero
Línea1(SH).X1 = 0 p>
Línea1(SH).Y1 = 0
Línea1(SH).X2 = 0,8 * Cos(Ángulo)
Línea1(SH).Y2 = 0,8 * Seno (Angle )
Form1.Caption = Str(Now()) 'La ventana muestra la fecha precisa y la hora digital
End Sub
(3) Programa compilar y ejecutar
Haga clic en el comando "Iniciar" o "Completar compilación" en el menú "Ejecutar" de VB para compilar y ejecutar el programa.