formulario estrella

30/09/2004 - 00:12 por luis | Informe spam
hola amigos disculpen como hago para crear un formulario
estrella o que api empiezo utilizando, se hace con un api
parecido al de un formulario circular...con setwindows rgn
y createee eliptic ...


gracias amigos espero su respuesta

Preguntas similare

Leer las respuestas

#1 Luis Miguel Cisneros L.
30/09/2004 - 04:13 | Informe spam
Hola!

importa System.Drawing.Drawing2d

crea un objeto de la clase GraphicsPath

crea una matriz de puntos ( dim puntos(Numero de puntos de tu estrella) as
Point
agregale a esa matriz cada uno de los puntos que quieres que tenga tu
estrella. ( puntos(0) = New Point(X,Y) )
agrega el array de puntos a el objeto GraphicsPath con el metodo
AddPoligon(puntos)

por ultimo estableces la region del formulario (me.region) igual a una nueva
instancia de la clase Region (esta clase tiene un constructor q acepta un
objeto del tipo GraphicsPath en el cual debes pasar el que creaste
anteriormente) y listo...

el algoritmo para calcular los puntos de la estrella te lo imagistas tu...

Si quieres un ejemplo, escribeme por esta via y te mando algo de codigo..
Saludos
Luis Cisneros

"luis" wrote in message
news:105301c4a671$718d7df0$
hola amigos disculpen como hago para crear un formulario
estrella o que api empiezo utilizando, se hace con un api
parecido al de un formulario circular...con setwindows rgn
y createee eliptic ...


gracias amigos espero su respuesta
Respuesta Responder a este mensaje
#2 Pedro Luna Montalvo, MVP
30/09/2004 - 04:42 | Informe spam
Te confieso que estoy un poco soñoliento como para dibujar la estrella, pero
te paso la forma de hacer un formulario con forma de triangulo.

1. En el constructor del formulario, justo despues del
InitializeComponent(), agrega lo siguiente:

Dim triangulo As New Drawing2D.GraphicsPath
triangulo.AddPolygon(New Point() { _
New Point(Me.Width \ 2, 0), _
New Point(0, Me.Height), _
New Point(Me.Width, Me.Height)})

Dim region As New System.Drawing.Region(triangulo)
Me.Region = region


Mira que to defino solamente tres puntos, para mi triangulo, hay te queda de
tarea calcular los puntos para que dibujes tu estrella.

Saludos
Pedro Luna, MVP
Gye, Ecu

"luis" escribió en el mensaje
news:105301c4a671$718d7df0$
hola amigos disculpen como hago para crear un formulario
estrella o que api empiezo utilizando, se hace con un api
parecido al de un formulario circular...con setwindows rgn
y createee eliptic ...


gracias amigos espero su respuesta
Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
30/09/2004 - 05:18 | Informe spam
Te confieso que estoy un poco soñoliento como para dibujar la
estrella, pero te paso la forma de hacer un formulario con forma de
triangulo.



Nada que no se pueda hacer con un poco de trigonometria:

Function Estrella( _
ByVal puntas As Integer, _
ByVal radioMayor As Integer, _
ByVal radioMenor As Integer, _
ByVal angulo As Single) As Drawing2D.GraphicsPath

puntas *= 2

Dim transform As New Drawing2D.Matrix
Dim puntos(puntas - 1) As Point
Dim separacion As Double = 2 * Math.PI / puntas

For i As Integer = 0 To puntas - 1
If i Mod 2 = 0 Then
puntos(i) = New Point(radioMayor + CInt(Math.Cos(i * separacion)
* radioMenor), _
radioMayor + CInt(Math.Sin(i * separacion)
* radioMenor))
Else
puntos(i) = New Point(radioMayor + CInt(Math.Cos(i * separacion)
* radioMayor), _
radioMayor + CInt(Math.Sin(i * separacion)
* radioMayor))
End If
Next

transform.RotateAt(angulo, New PointF(radioMayor, radioMayor))

Estrella = New Drawing2D.GraphicsPath
Estrella.AddPolygon(puntos)
Estrella.Transform(transform)

End Function

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
Respuesta Responder a este mensaje
#4 DJ MIAO
30/09/2004 - 07:41 | Informe spam
El flaco humillando.

Miao...
Comprate un libro.

Te confieso que estoy un poco soñoliento como para




dibujar la
estrella, pero te paso la forma de hacer un formulario




con forma de
triangulo.



Nada que no se pueda hacer con un poco de trigonometria:

Function Estrella( _
ByVal puntas As Integer, _
ByVal radioMayor As Integer, _
ByVal radioMenor As Integer, _
ByVal angulo As Single) As Drawing2D.GraphicsPath

puntas *= 2

Dim transform As New Drawing2D.Matrix
Dim puntos(puntas - 1) As Point
Dim separacion As Double = 2 * Math.PI / puntas

For i As Integer = 0 To puntas - 1
If i Mod 2 = 0 Then
puntos(i) = New Point(radioMayor + CInt


(Math.Cos(i * separacion)
* radioMenor), _
radioMayor + CInt


(Math.Sin(i * separacion)
* radioMenor))
Else
puntos(i) = New Point(radioMayor + CInt


(Math.Cos(i * separacion)
* radioMayor), _
radioMayor + CInt


(Math.Sin(i * separacion)
* radioMayor))
End If
Next

transform.RotateAt(angulo, New PointF(radioMayor,


radioMayor))

Estrella = New Drawing2D.GraphicsPath
Estrella.AddPolygon(puntos)
Estrella.Transform(transform)

End Function

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo


.

Respuesta Responder a este mensaje
#5 D J MIAo
30/09/2004 - 07:43 | Informe spam
Compra una mica y le dibujas la estrella y se la pones al
frente del monitor el usuario no creo que vea la
diferencia.


Miao..
Comprate un libro...

hola amigos disculpen como hago para crear un formulario
estrella o que api empiezo utilizando, se hace con un


api
parecido al de un formulario circular...con setwindows


rgn
y createee eliptic ...


gracias amigos espero su respuesta
.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida