Visual Basic - Circulo con el Mouse

Life is soft - evento anual de software empresarial
 
Vista:

Circulo con el Mouse

Publicado por Ronaldo Bonilla (2 intervenciones) el 23/05/2015 05:18:57
Buenas noches, es mi primera ves en un foro, y lo hago porque ya no se como hacer, soy novato en visual basic,,, mi problema es que tengo que hacer un codigo que mediante el mouse pueda realizar un circulo, al darle clic el guarda las coordenadas y arma el circulo....este es el codigo que me envio un compañero pero dice que no le corre, a mi tampoco, me dijo que solo colocara un form y el codigo... mas nada...digan que opinan......

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Option Explicit
 
Private flag As Boolean
 
'Variables  
Dim x1 As Single, y1 As Single, x2 As Single, y2 As Single
 
'Dibuja el circulo en el formulario  
 
Private Sub Dibujar_Circulo()
 
Dim cx As Single, cy As Single, dx As Single
Dim dy As Single, Radio As Single
 
 
        cx = x1
        cy = y1
        dx = x1 - x2
        dy = y1 - y2
 
        ' calcula el radio  
        Radio = Sqr(dx * dx + dy * dy)
 
        'Dibuja el círculo  
        Circle (cx, cy), Radio
 
 
End Sub
 
Private Sub Form_Load()
    Me.Caption = " Ejemplo para Dibujar circulos con el mouse "
    Me.DrawWidth = 3
    Me.BackColor = vbBlack
End Sub
 
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
                            X As Single, Y As Single)
 
    flag = True
 
    DrawMode = vbInvert
 
    x1 = X: y1 = Y
    x2 = X: y2 = Y
 
    Call Dibujar_Circulo
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, _
                           X As Single, Y As Single)
 
    If Not flag Then
       Exit Sub
    End If
 
    Call Dibujar_Circulo
    'Almacena las coordenadas del mouse  
    x2 = X: y2 = Y
 
    Call Dibujar_Circulo
End Sub
 
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, _
                         X As Single, Y As Single)
    ' Flag e false para que al mover el mouse ( MouseMove) no dibuje  
    flag = False
 
    'Dibuja  
    Call Dibujar_Circulo
 
    'Almacena las coordenadas del mouse  
    x2 = X: y2 = Y
 
    Call Dibujar_Circulo
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Circulo con el Mouse

Publicado por Pedro Luis (56 intervenciones) el 23/05/2015 14:38:02
Te he hecho un ejemplo pequeñito para que entiendas como funciona el Circle.
En un formulario pega este codigo ejecuta y haz clic por doquier.
Quizas asi puedas entender el codigo mas extenso.


Option Explicit
Dim cx As Single, cy As Single

Private Sub Form_Click()
Circle (cx, cy), 1000
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
cx = X
cy = Y
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Circulo con el Mouse

Publicado por Ronaldo Bonilla (2 intervenciones) el 24/05/2015 03:28:13
Hola Pedro.. gracias por responder
pero aun tengo un problema,

me tira error en la siguiente linea
Circle (cx, cy), 1000
e tenido ese problema varias veces,,,no se si la estoy declarando mal...
Podrias enviarme el codigo tal cual como lo pondrias en el form.,,, y disculpa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar