Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Drawing Area
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Drawing Area 
 
Hola, tengo un problema con el uso de Drawing Area (uso Gambas2), no sé porqué, intenta dibujar la figura que he escrito justo al ejecutar el programa.
Yo quiero que el dibujo se haga después de darle a un botón. Estoy seguro de que es muy simple, pero no consigo lograrlo.

Muchas gracias de antemano y perdonen mi ignorancia.
 



 
Oleguer - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Drawing Area 
 
Te refieres a esto?? Fijate que no tengas el código en "Form_Open"

PUBLIC SUB Button1_Click()
    Draw.Begin(DrawingArea1)
    Draw.Line(5, 10, 50, 10)
    Draw.end
END
 


Un saludo
 



 
 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Drawing Area 
 
Muchas gracias y disculpame, pensaba que se tenia que hacer des de la función:

PUBLIC SUB Drawingarea1_Draw(), i no de esta forma.

Gracias
 



 
Oleguer - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Drawing Area 
 
El evento _Draw es el indicado para dibujar ciertas cosas, teniendo en cuenta que se dispara cada vez que cambia el control Drawing Area. Por ejemplo, al abrir el formulario, o al cambiar su tamaño o al taparlo y destaparlo con otro formulario... etc. Por lo que veo, para lo que tu necesitas, no parece el evento adecuado, así que el consejo de BrunoIV es completamente válido.

Sin embargo, yo lo he usado con éxito (El evento _Draw) para dibujar un mapa y ciertas cosas sobre él a voluntad, eligiendo las "capas" que quiero visualizar en el mapa mediante un Button Check.

dfhlog2

Aquí te dejo el código por si te sirve algo de lo que veas:

http://dfhlog.googlecode.com/svn/branches/dfhlog1.1/FLoc.class

El truco consiste en crear métodos que dibujen lo que quieres y luego, dentro del evento _Draw llamas a esos métodos con un condicional, que puede ser IF..THEN o un SELECT CASE, o lo que quieras. Para ello usamos un "flag" que no es más que una variable Privada que almacena un valor booleano y que cambias a voluntad para que el programa dibuje o no dependiendo del valor de dicha variable.

Esta es la forma más eficiente de dibujar, aunque no quiere decir que sea la única válida. Si tienes dudas, pregunta de nuevo.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Drawing Area 
 
Muchas gracias por la información (la necesitaba porque la verdad es que no tenia muy claro cómo se dibujaba).

Pero tengo otra duda, al esconder una drawing area para después volverla a mostrar [un simple DrawingArea1.Hide], se borra todos los dibujos que no sean propios de la función DrawingArea1_Draw(), hay alguna forma de almacenar dicho dibujo temporalmente, sin tener que repetirlo?

Muchas gracias por la atención. La aprecio mucho.
 



 
Oleguer - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Drawing Area 
 
Oleguer:
 
Prueba con poner la propiedad del drawingarea .cached como true, a ver si te vale asi...

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Drawing Area 
 
Si que funciona! Muchísimas gracias, estoy preparando la nueva interfície del programa de localización solar y quería que representara las respuestas en un gráfico, que se pudiera ocultar.

De nuevo, gracias.
 



 
Oleguer - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Muy Buena Página Con Un Ejemplo Completo ... santijav General 1 Miercoles, 03 Agosto 2011, 08:28 Ver último mensaje
Shell
No hay nuevos mensajes Letra Que Ocupe Todo El Alto Del Area De D... Shell General 1 Lunes, 04 Marzo 2013, 20:09 Ver último mensaje
Shell
No hay nuevos mensajes Cómo Pintar Un Píxel En Un Drawing Area Alaplancha Controles/Librerías/Componentes 34 Sabado, 06 Febrero 2016, 21:17 Ver último mensaje
Shell
No hay nuevos mensajes Limpiar El Area De Dibujo Shell General 3 Martes, 23 Febrero 2016, 12:51 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron