Entornos de Usuario.
Práctica 2.Desarrollo de aplicaciones Windows MFC.
Objetivos.
Crear una aplicación con el Visual C++, utilizando la arquitectura
documento/vista.
Utilizar las funciones básicas de dibujo de windows.
Enunciado.
El objeto de la práctica es crear una versión muy sencilla de un programa tipo 'paint' donde es posible dibujar sobre la ventana diferentes figuras de diferentes colores y que los elementos que dibujamos se almacenen en memoria, de forma que no desaparecen en ningún momento.
Las figuras a dibujar serán de tres tipos: líneas, cuadrados y círculos. Los colores de la figuras serán: rojo, verde y azul. Además en la parte superior de la ventana y centrado aparecerá un texto "Mi programa de dibujo" con el color activo en ese momento.

La interacción la aplicación será la siguiente:
-
Mediante teclado podemos seleccionar el tipo de figura (1=línea, 2= círculo, 3= cuadrado) que estamos dibujando en cada momento así como el color activo (R=rojo, G=verde, B=azul).
El botón izquierdo del ratón nos permite interaccionar con la ventana y dibujar las figuras. Tendremos las siguientes interacciones:
-
Para dibujar una línea: una pulsación del botón izquierdo nos da el punto inicial de la línea, y la segunda pulsación el punto final.
-
Para dibujar un círculo: una pulsación del botón izquierdo nos da el centro y cuando levantamos el ratón tenemos el radio.
-
Para dibujar un cuadrado: una pulsación nos da una esquina del cuadrado y cuando levantamos el ratón tenemos la otra esquina.
Trabajo previo a la sesión de prácticas.
El alumno deberá acudir al laboratorio con la estructura de la práctica ya pensada en particular deberá tener en plantear dos cosas:
-
¿Qué eventos será necesario recoger, y cuál será la lógica de la aplicación? ¿En qué eventos almacenamos los datos (coordenadas, color activo, etc.) y dónde dibujamos las figuras?
-
¿Qué estructuras de datos y variables necesitamos crear para almacenar en memoria las figuras que va dibujando el usuario?. Hay que tener en cuenta que se pide una aplicación que almacene todas las figuras que se van dibujando, por lo tanto deberemos crear un array con todas las figuras creadas, sus coordenadas así como el color activo. Para simplificar la aplicación limitaremos el número de figuras que es posible dibujar a 100.
Desarrollo de la práctica.
Para empezar a desarrollar la aplicación se creará una aplicación
de tipo MFC AppWizard. Esto nos creará una aplicación base que
utilizará la arquitectura documento/vista. En la clase vista será
donde introduzcamos todas las funciones para dibujar,
así como los eventos de ratón a los que queremos que responda
la aplicación.

Una vez creada la aplicación a la clase CView le añadiremos los eventos necesarios desde el classwizard:
A continuación añadiremos el código necesario: crearemos las estructuras de datos y definiremos las variables necesarias, e insertaremos el código dentro de los mensajes manejadores de los eventos.