Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como funciona Chord, me tiene loco

Estas en el tema de Como funciona Chord, me tiene loco en el foro de Visual Basic clásico en Foros del Web. Hola amigos, tengo un lio con la función Chord, pues no se como poner los parámetros. Necesito dibujar un arco relleno de rojo, encima de ...
  #1 (permalink)  
Antiguo 23/02/2007, 06:49
 
Fecha de Ingreso: agosto-2006
Mensajes: 45
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Como funciona Chord, me tiene loco

Hola amigos, tengo un lio con la función Chord, pues no se como poner los parámetros.
Necesito dibujar un arco relleno de rojo, encima de un polígono, y que tenga el mismo ancho que el polígono y de altura el valor de flecha. El polígono lo tengo resuelto, pero el arco NO.
Si alguien me quiere ayudar, que pegue el código adjunto y lo pruebe, para que me diga como sería la instrucción de la linea en rojo.
Muchas gracias de antemano.

Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function Chord Lib "gdi32" (ByVal hdc As Long, _
ByVal X1 As Long, ByVal Y1 As Long, _
ByVal X2 As Long, ByVal Y2 As Long, _
ByVal X3 As Long, ByVal Y3 As Long, _
ByVal X4 As Long, ByVal Y4 As Long) As Long
Private Declare Function Polygon Lib "gdi32" (ByVal hdc As Long, lpPoint As POINTAPI, ByVal nCount As Long) As Long
Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

Dim Xref As Single, Yref As Single, flecha As Integer
Dim coordPoly(1 To 4) As POINTAPI
Dim brocha As Long


Private Sub Form_Load()

Me.AutoRedraw = True
Me.ScaleMode = 6 'Milimetros
Dibujar

End Sub

Private Sub Dibujar()

Me.Cls
alto = 120 'Alto del polígono
ancho = 120 'Ancho del polígono y del arco
flecha = 30 'Altura del arco
Xref = 50 'Posición inicio en X
Yref = 50 'Posición inicio en Y
brocha = CreateSolidBrush(vbRed) 'Fill en rojo
SelectObject Me.hdc, brocha
coordPoly(1).X = Xref
coordPoly(1).Y = Yref + flecha
coordPoly(2).X = Xref + ancho
coordPoly(2).Y = Yref + flecha
coordPoly(3).X = Xref + ancho
coordPoly(3).Y = Yref + alto + flecha
coordPoly(4).X = Xref
coordPoly(4).Y = Yref + alto + flecha
Polygon Me.hdc, coordPoly(1), 4 'Dibuja el polígono
'Aqui necesito que dibuje el arco con Chord encima del polígono
'con el mismo ancho que este y altura = flecha
'O sea Chord Me.hdc, Xref, Yref, ??, ??, ??, ??, ??, ??

Me.Refresh
DeleteObject brocha

End Sub
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:38.