|
1. |
|||
|
2.1. ¿ Que es C ++ ? |
|||
|
7.2.1. La clase CWinApp |
|||
|
7.2.2. El interfaz Documento/Vista |
|||
|
7.2.3. La ventana básica CWnd |
|||
|
7.2.5. Las clases Vista |
|||
|
7.3.1. La clase CString |
|||
|
7.3.2. La clase CFile |
|||
|
7.3.3. La clase CTime |
|||
|
7.3.4. La clase CRect |
|||
|
8.2. Objetos capaces de gestionar mensajes de comando de menú |
|||
|
9.1. Creación de diálogos |
|||
|
10. EL INTERFAZ MDI |
|||
|
11.2. Tratamiento mediante DAO |
|||
|
11.3. Las clases básicas |
|||
|
11.3.1. La clase CDatabase |
|||
|
11.3.2. La clase CRecordset |
|||
|
11.3.3. Los recordsets parametrizados |
|||
Como sabemos, Windows es el entorno más popular de interfaz gráfico de usuario (GUI). Desde este punto de vista, Windows es un entorno multitarea basado en ventanas, que representan programas, y que permite ejecución concurrente.
Para desarrollar programas, Windows provee una librería de rutinas y funciones (SDK - Kit de desarrollo de software) que permiten gestionar componentes como menús, diálogos, ventanas, etc.
Visual C++ es un entorno integrado de desarrollo que permite la programación orientada a objetos (POO) conjuntamente con el sistema de desarrollo SDK (también denominado API) de Windows. Al ser un entorno integrado Visual C++ incluye, entre otras, las siguientes herramientas de desarrollo:
Pero si desde el punto de vista del usuario Windows es un sistema amigable, desde el punto de vista del desarrollador observaremos todo lo contrario. El SDK de Windows no es mas que un complejo conjunto de funciones que añade además numerosas definiciones de tipos de datos nuevos para cualquier programador de C/C++ para DOS. Para solucionar este problema, Visual C++ incluye la librería de clases MFC (Microsoft Foundation Classes) que permite crear y gestionar de manera intuitiva componentes típicos de Windows. Esto es, la MFC es una implementación que utiliza el API encapsulando todas las estructuras y llamadas a funciones en objetos fáciles de utilizar. Basándose en la potencia de la MFC, Visual C++ se convierte en un generador de programas C++ para Windows.
El objetivo del presente curso es conocer el modelo de programación para Windows basado en la librería de clases MFC. En este documento se destacarán ideas, conceptos y tratamientos generales, en ningún momento pretende ser un manual completo de programación con MFC.
Como todos sabemos, "C" es un lenguaje de alto nivel, basado en funciones, que permite desarrollos estructurados. Entre otras muchas características contempla la definición de estructuras de datos, recursividad o indirecciones a datos o código (punteros).
"C ++", por su parte, es un superconjunto de "C", al que recubre con una capa de soporte a la POO. Permite por tanto la definición, creación y manipulación de objetos.
La POO es una nueva filosofía de programación que se basa en la utilización de objetos. El objetivo de la POO no es sino la meta de cualquier modelo de programación estructurada convencional: "imponer" una serie de normas de desarrollo que aseguren y faciliten la mantenibilidad y reusabilidad del código.
Los mecanismos básicos de la POO son: objetos, mensajes, métodos y clases.
Las principales características de la POO son: abstracción, encapsulamiento, herencia y polimorfismo:
Otros dos conceptos muy importantes en la POO son relativos a la creación y destrucción de objetos. En lenguajes estructurados convencionales, cuando se define una variable se le reserva espacio en memoria y, si no se inicializa expresamente, se hace por defecto (por ejemplo, en C una variable global siempre se inicializa a 0, pero una automática no, por lo que si no se inicializa expresamente su contenido inicial será basura); por otra parte, cuando se destruye una variable (por que se abandona el ámbito de su definición - scope -) se libera la memoria que estaba ocupando. Si ahora hacemos el paralelismo obligado entre variables y objetos para los lenguajes POO nos daremos cuenta de que deben existir procedimientos especiales de construcción y destrucción de objetos. En concreto, cada clase tiene dos funciones miembro especiales denominadas constructor y destructor.
En muchos casos, para las clases mas sencillas, podemos encontrar clases que no tiene constructor o destructor, ó ninguno de los dos. En C++, siempre existen constructores y destructores por defecto que realizan una inicialización/liberación estándar.
El modelo de programación propuesto por Windows es totalmente diferente al modelo de ejecución secuencial de DOS. Al ser Windows un entorno multitarea los programas tienen que estar preparados para compartir los recursos de la maquina (procesador, memoria, teclado, ratón …). Esto supone que Windows ha de disponer de métodos que permitan suspender tareas para activar otras en función de las circunstancias del momento (por ejemplo, por acción del usuario).
Pero por parte de las aplicaciones, este hecho supone que han de cooperar en la compartición de esos recursos. Las aplicaciones Windows se limitan a "esperar" mensajes procedentes del sistema, procesarlos y volver al estado de espera. Este modelo de programación se conoce como "orientado al evento".
Otra de las características específicas de Windows frente a DOS es el uso de recursos por parte de las aplicaciones, como son iconos, menús, mapas de bits, cursores, plantillas de diálogos, etc. Las aplicaciones Windows disponen por tanto de recursos (gráficos generalmente) propios almacenados en lo que se llama el fichero de recursos). El proceso de construcción de programas en Windows incorpora una fase adicional al compilado y enlazado de los módulos objeto y las librerías. Hay un proceso final de compilación y de enlazado (bind) del fichero de recursos.
3. EL ENTORNO DE DESARROLLO - INTRODUCCIÓN.
El entorno de desarrollo viene representado por el icono "Developer Studio". En él se integran entre otras las siguientes herramientas:
En Visual C++ la construcción de cualquier tipo de programa se inscribe dentro del concepto de proyecto (workspace). Un proyecto define los pasos a seguir para alcanzar la construcción de un objetivo (un programa, una DLL, etc.), en realidad es un concepto análogo a lo que se conoce como "makefile" en otros entornos típicos de desarrollo en C. En realidad, Visual C++ genera para cada proyecto dos ficheros que lo definen, el fichero de workspace (con extensión wsp) y un makefile (con extensión mak) estándar que permitiría la utilización del mismo proyecto en otro entorno distinto.
Desde el punto de vista funcional, el proyecto contiene referencias a cada uno de los ficheros fuentes (C/C++, con extensiones c y cpp respectivamente), objetos, librerías o ficheros de recursos (extensión rc) que se deben utilizar para construir el objetivo final del proyecto.
En definitiva, para crear cualquier programa con Visual C++ debemos comenzar creando un proyecto para él, codificando y añadiendo los módulos necesarios a dicho proyecto, y definiendo los recursos asociados.
Cuando se crea un nuevo proyecto (desde la opción "Nuevo" del menú "Fichero" aparece un diálogo que nos permite especificar que se cree un nuevo workspace), lo primero que solicita el sistema es determinar el tipo de objetivo que se persigue con este proyecto. Destacar las siguientes posibilidades:
Como ya hemos destacado anteriormente, el objetivo del presente curso es el manejo de la librería MFC, por lo que nos centraremos básicamente en el primer punto (la construcción de una DLL con MFC es totalmente similar).
Ya sabemos que Visual C++, apoyado en la potencia de la MFC, es capaz de convertirse en un generador de aplicaciones. Para ello dispone de dos herramientas integradas complementarias:
Pero el código generado mediante este método presenta una complejidad añadida a la natural de cualquier programa; junto con el código C/C++ y el de la MFC aparecen líneas (generalmente entre comentarios) que son totalmente necesarias para el funcionamiento de las dos herramientas anteriores, modificar cualquiera de esas líneas de código dará muchos problemas a la hora de utilizar ClassWizard para modificarlo. De todas maneras, este "defecto" es bastante popular entre los usuarios de cualquier generador de código, para cualquier lenguaje.
El formato general de los proyectos generados con estas herramientas suele tener las siguientes características:
Seguiremos los siguientes pasos:
En estos momentos aparecerá la secuencia de diálogos del generador ClassWizard. Veamos cuales serían los pasos a seguir para crear una aplicación sencilla:
A partir de este momento da comienzo la generación del código definido antes. Como se habrá observado, el nombre por defecto de las clases generadas tiene mucho que ver con el nombre que le hayamos dado al proyecto. De esta manera, si hubiésemos llamado "curso1" al proyecto tendríamos la siguiente situación:
Cada una de estas clases se revisará con detalles en capítulos sucesivos.
Página siguiente ![]() |
Trabajos relacionados
Ver mas trabajos de Programacion |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.
Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.
Ingrese el e-mail y contraseña con el que está registrado en Monografias.com
|
|