Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Como se dispara el Evento Draw en el siguiente ejemplo?
#1

Hola:

Estoy en el tema de poner un DrawingArea en un proyecto, en el cual quiero dibujar algunas funciones trigonométricas. Así que mirando en la web encontré este ejemplo, el cual no explica nada sobre cómo es que "corre solo". No requiere, según el ejemplo, de hacer click en ningún botón. Así no me lleva a comprender cómo funciona DrawingArea. Por favor si alguien me puede decir como aplicarlo?

GAMBAS
  1. ' Gambas class file
  2.  
  3. Public activado As Boolean
  4.  
  5. Public Sub _new()
  6.   
  7.  
  8. Public Sub Form_Open()
  9.   
  10.   ScrollArea1.ResizeContents(400, 400)
  11.   ScrollArea1.Refresh
  12.   ScrollArea1.Shadow = True 'sombra
  13.   
  14.  
  15. Public Sub ScrollArea1_Draw()
  16.   
  17.   Paint.DrawText("hola mundo", 10 - ScrollArea1.ScrollX, 10 - ScrollArea1.Scrolly)
  18.   Paint.DrawText("hola mundo", 100 - ScrollArea1.Scrollx, 100 - ScrollArea1.Scrolly, 200, 500)
  19.   Paint.DrawRichText("<h1>Hola <font color=\"red\"> Mundo</font></h1>", 110 - ScrollArea1.ScrollX, 130 - ScrollArea1.Scrolly, 200, 200)
  20.   Paint.MoveTo(100 - ScrollArea1.ScrollX, 100 - ScrollArea1.Scrolly)
  21.   Paint.LineTo(10 - ScrollArea1.ScrollX, 39 - ScrollArea1.Scrolly)
  22.   Paint.LineWidth = 3
  23.   
  24.   Paint.Rectangle(3 - ScrollArea1.ScrollX, 3 - ScrollArea1.Scrolly, 10, 100)
  25.   Paint.Stroke()  
  26.   Paint.MoveTo(100 - ScrollArea1.ScrollX, 100 - ScrollArea1.Scrolly)
  27.   Paint.LineTo(10 - ScrollArea1.ScrollX, 139 - ScrollArea1.Scrolly)
  28.   Paint.LineWidth = 1
  29.   
  30.   Paint.Rectangle(3 - ScrollArea1.ScrollX, 3 - ScrollArea1.Scrolly, 10, 100)
  31.   Paint.Stroke()
  32.   
  33.   Paint.DrawText("Gambas3", 300 - ScrollArea1.Scrollx, 200 - ScrollArea1.Scrolly, 200, 500)
  34.   Paint.DrawRichText("<h1><font color=\"blue\"> Gambas3</font></h1>", 110 - ScrollArea1.ScrollX, 230 - ScrollArea1.Scrolly, 200, 200)
  35.   
  36.  
  37. Public Sub DrawingArea1_Draw()
  38.   
  39.   Paint.DrawText("hola mundo", 10, 10)
  40.   Paint.DrawText("hola mundo", 100, 100, 200, 500)
  41.   Paint.DrawRichText("<h1>Hola <font color=\"red\"> Mundo</font></h1>", 110, 130, 200, 200)
  42.   Paint.MoveTo(100, 100)
  43.   Paint.LineTo(10, 39)
  44.   Paint.LineWidth = 3
  45.   
  46.   Paint.Rectangle(3, 3, 10, 100)
  47.   Paint.Stroke()  
  48.   Paint.MoveTo(100, 100)
  49.   Paint.LineTo(10, 139)
  50.   Paint.LineWidth = 1
  51.   
  52.   Paint.Rectangle(3, 3, 10, 100)
  53.   Paint.Stroke()
  54.   



Gracias....

Es mejor saber un poco de todo, que todo de muy poco. Lo primero, garantiza la supervivencia humana.
    ¡Gracias!
#2

Echa un vistazo a este código.
[-] Los siguientes 2 usuarios dicen gracias a cogier por este post:
  • AlfredoSC, Grandamakulo
    ¡Gracias!
#3

En resumidas cuentas, el Evento "_Draw()" de la clase "DrawingArea" se eleva automáticamente:
GAMBAS
  1. Public Sub DrawingArea1_Draw()
  2.  
  3.   Print "Test"
  4.  



Para levantar arbitrariamente el Evento "_Draw()" es necesario invocar el Método ". Refresh" de la Clase "DrawingArea":
GAMBAS
  1.  
  2.  
  3. Public Sub DrawingArea1_Draw()
  4.  
  5.   With Paint
  6.     .Brush = .Color(i)
  7.     .Arc(200, 200, 100.0, Rad(0), Rad(360), pie)
  8.     .Stroke
  9.     .End
  10.  
  11.  
  12. Public Sub Button1_Click()
  13.  
  14.   i = Color.Red
  15.   pie = True
  16.   
  17.   DrawingArea1.Refresh
  18.  



"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
[-] Los siguientes 1 usuarios dice gracias a vuott por este post:
  • AlfredoSC
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje
Último mensaje por Shell
28-06-2022, 19:39

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)