Malos uso de los controles - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: Malos uso de los controles (/thread-1565.html) |
Malos uso de los controles - Shell - 07-12-2023 Buenas!. Muchas veces vemos que los compañeros cuando diseñan un formulario y quieren usar un número de controles sobre este, normalmente para crear algo gráfico pero sin dibujarlo. Imaginar que se quiere presentar una serie de imágenes sobre el formulario principal. Os voy a mostrar lo que consume de memoria cuando se hace con cinco x cinco controles pictureboxes sobre un formulario y lo que consume cinco x cinco imágenes en un DrawingArea. Cinco x Cinco. Pictureboxes distribuidos en un formulario. Fijaros en el númerito de los MiB El tamaño de la imagen es de: 40Kb Cinco x Cinco usando imágenes escaladas sobre un DrawingArea. Casi el doble cuando se usa un conjunto de Pictureboxes. Inconveniente, que el desarrollador no sepa usar la librería Paint. Me ha costado recordar un poco como se hacía esto. Estoy algo oxidado en el tema gráfico. Si aumentamos el número de imágenes se puede cuadriplicar el consumo en el caso de los pictureboxes. Saludos RE: Malos uso de los controles - guizans - 10-12-2023 La diferencia de uso de memoria es brutal. Eso si, usar el método de los PictureBox tiene una ventaja y es si cuando se hace click en alguna imagen es mucho mas fácil de saber en donde se ha pulsado, mientras en el Drawing Area la cosa es un poco mas complicada. Todo dependerá del uso que se le vaya a dar. Un saludo. RE: Malos uso de los controles - Shell - 10-12-2023 (10-12-2023, 18:19)guizans escribió: Eso si, usar el método de los PictureBox tiene una ventaja y es si cuando se hace click en alguna imagen es mucho mas fácil de saber en donde se ha pulsado, mientras en el Drawing Area la cosa es un poco mas complicada. Si, es más sencillo, pero se puede lograr con algo más de código. No pude reducir más el ancho de la captura del gif. Saludos RE: Malos uso de los controles - guizans - 11-12-2023 Hombre Shell, que menos que compartir ese código RE: Malos uso de los controles - Shell - 12-12-2023 (11-12-2023, 20:32)guizans escribió: Hombre Shell, que menos que compartir ese código No es problema, solo tienen que decirlo. Me lié con que debería incorporar la clase. No es algo sencillo. Por ejemplo: ¿ Debe la clase incorporar un método de escalado o es mejor escalar en el FMain y luego pasarle la imagen ya escalada a la clase ?. Mejor escalarla en otro lugar, ejemplo en el Fmain ( solo se haría una vez ). Mientras que si el método se hace desde la clase , cada vez que se cree una instancia de la clase, tiene que estar escalando y escalando...un rollo. Cuando dije que era complicado, es que lo es, comencé a darle vueltas, ¿ y si creo un método estático ?. Por ahora no. Tampoco es un código optimizado. Comencemos con el código que solo hace uso de Pictureboxes. Un código menor, pero no tan ideal. Código: ' Gambas class file El código de la clase. Esta clase hereda de la clase Rect para aprovechar sus propiedades y sus métodos. Añadimos ademas la imagen ya escalada en una propiedad. Código: Inherits Rect Y ahora el formulario que hace uso de la misma. Parte del código del formulario se podía haber añadido a la clase. El único problema que me encuentro es, ¿ debe la clase tenerlo ?. Como la clase hereda de Rect, probablemente el método de detectar si se ha hecho clic sobre una imagen, si deba contenerlo y no es difícil de hacer. Cuando digo que si la clase debe contener ese código, me refiero que si es lo ideal en POO. Código: 'En este ejemplo haremos uso de dibujar una serie de imagenes en un DrawingArea Adjunto el ejemplo. Ahora imaginar lo que sería crear eventos propios en el código de la clase, observadores, etc,etc. Saludos RE: Malos uso de los controles - guizans - 12-12-2023 Muchas gracias, Shell Tremenda currada. Un saludo. |