Escolar Documentos
Profissional Documentos
Cultura Documentos
de Visual Basic
Reloj Analgico
Roberto Priegue
17/08/2013
1.1 Aplicacin
Roberto Priegue
1.2 Cdigo
1.2.1 Formulario Principal
Public Class Form1
Function getAngulo(ByVal valor As Double, ByVal isH As Boolean)
Dim Rdo As Double
If isH Then
valor = valor * 720.0 / 24.0
Else
valor = valor * 360 / 60
End If
Rdo = ConverGtoR(valor 90)
Return Rdo
End Function
'Cdigo que devuelve el punto final de la lnea indicadora
Function getPoint(ByVal IsH As Boolean, ByVal Angulo As Double)
Dim Rdo As Point
Dim x As Integer
Dim y As Integer
If IsH Then
x = LS_Minutos.StartPoint.X
y = LS_Minutos.StartPoint.Y
Else
x = LS_Minutos.StartPoint.X
y = LS_Minutos.StartPoint.Y
End If
+ getPosX(30, Angulo)
+ getPosY(30, Angulo)
+ getPosX(50, Angulo)
+ getPosY(50, Angulo)
Roberto Priegue
Roberto Priegue
Roberto Priegue
Roberto Priegue
Roberto Priegue
= Color.Green
= Color.BlanchedAlmond
= Color.Lavender
= Color.WhiteSmoke
End Select
Return Rdo
End Function
'Gestiona el marcado de la opcin de color del minutero
Sub CheckColorMin(ByVal num As Integer)
Select Case num
Case 1
MS_Minuto_Negro.Checked = True
MS_Minuto_Azul.Checked = False
MS_Minuto_Rojo.Checked = False
MS_Minuto_Verde.Checked = False
Case 2
MS_Minuto_Negro.Checked = False
MS_Minuto_Azul.Checked = True
MS_Minuto_Rojo.Checked = False
MS_Minuto_Verde.Checked = False
Case 3
MS_Minuto_Negro.Checked = False
MS_Minuto_Azul.Checked = False
MS_Minuto_Rojo.Checked = True
MS_Minuto_Verde.Checked = False
Case 4
MS_Minuto_Negro.Checked = False
MS_Minuto_Azul.Checked = False
MS_Minuto_Rojo.Checked = False
MS_Minuto_Verde.Checked = True
End Select
End Sub
'Gestiona el marcado de la opcin de color de la aguja de las horas
Sub CheckColorHor(ByVal num As Integer)
Select Case num
Case 1
MS_Hora_Negro.Checked = True
MS_Hora_Azul.Checked = False
MS_Hora_Rojo.Checked = False
MS_Hora_Verde.Checked = False
Case 2
MS_Hora_Negro.Checked = False
MS_Hora_Azul.Checked = True
MS_Hora_Rojo.Checked = False
MS_Hora_Verde.Checked = False
Case 3
MS_Hora_Negro.Checked = False
MS_Hora_Azul.Checked = False
MS_Hora_Rojo.Checked = True
MS_Hora_Verde.Checked = False
Case 4
MS_Hora_Negro.Checked = False
MS_Hora_Azul.Checked = False
MS_Hora_Rojo.Checked = False
MS_Hora_Verde.Checked = True
End Select
Roberto Priegue
= False
True
= False
= False
False
= True
End Select
End Sub
'Cdigo que se ejecuta al seleccionar un color para la aguja de las horas
Private Sub MS_Hora_Rojo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MS_Hora_Verde.Click, MS_Hora_Rojo.Click, MS_Hora_Negro.Click, MS_Hora_Azul.Click
If sender.Equals(MS_Hora_Azul) Then
LS_Horas.BorderColor = getColor(2)
CheckColorHor(2)
ElseIf sender.Equals(MS_Hora_Negro) Then
LS_Horas.BorderColor = getColor(1)
CheckColorHor(1)
ElseIf sender.Equals(MS_Hora_Rojo) Then
LS_Horas.BorderColor = getColor(3)
CheckColorHor(3)
ElseIf sender.Equals(MS_Hora_Verde) Then
LS_Horas.BorderColor = getColor(4)
CheckColorHor(4)
End If
End Sub
'Cdigo que se ejecuta al seleccionar un color de fondo para el reloj
Private Sub MS_Reloj_Blanco_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MS_Reloj_Marron.Click, MS_Reloj_Gris.Click, MS_Reloj_Blanco.Click
If sender.Equals(MS_Reloj_Marron) Then
OS_Reloj.FillColor = getColor(5)
CheckColorReloj(1)
ElseIf sender.Equals(MS_Reloj_Gris) Then
OS_Reloj.FillColor = getColor(6)
CheckColorReloj(2)
ElseIf sender.Equals(MS_Reloj_Blanco) Then
Roberto Priegue
Roberto Priegue