Crear un proyecto MFC basado en diálogo

Por:ivancp, enviado 03 sep 2011
Éste es un tutorial paso a paso para crear una aplicación MFC basada en dialogo utilizando Visual C++ 2010.

Paso 1. Invocar la opción del menú.

Tenemos varias opciones para crear un nuevo proyecto:
  1. Desde el menú Archivo -> Nuevo -> Proyecto
  2. Presionando Ctrl + Shift + N
  3. Haciendo click en "Nuevo Proyecto" el dashboard que tenemos disponible al iniciar el Visual Studio
Luego tendremos una ventana para elegir el tipo de proyecto con varias secciones:

paso1.0.png
Ventana inicial al intentar crear un proyecto MFC


  1. Lista de plantillas, a nosotros nos interesan mas las plantillas para Visual C++
  2. Lista de tipos de proyectos, en este caso vamos a elegir "Applicación MFC"
  3. Luego debemos asignarle un nombre al proyecto, es posible ponerle nombres con espacios, algo así como: "Proyecto Nuevo 1", pero los programadores Visual C++ estilamos escribir nombres sin espacios lo mas cortos posibles.
  4. Para tener todo de manera ordenada, es necesario que ubiques tus proyectos en algún lugar, por defecto esta ruta es tu carpeta personal, pero puedes elegir la que prefieras.
  5. Si tu proyecto es un componente de otro proyecto mas grande (Solución) o piensas agregar otros proyectos mas adelante, entonces puedes crearla dentro de una Solución, aquí puedes utilizar el nombre que desees, incluyendo espacios.

Luego de darle click en Aceptar, aparecerá una ventana de información que te indica rápidamente qué es lo que puedes crear con el asistente.

paso1.1.png
Ventana de información antes de crear el proyecto.


Paso 2: Elegir el tipo de aplicación.

Ya que nuestro objetivo es crear una aplicación basada en diálogo:

paso2.png
Propiedades de la aplicación MFC


  1. En el grupo de opciones debemos elegir "Basada en cuadros de diálogo", alternativamente tenemos la opción de utilizar diálogos HTML, ese tipo de diálogo utiliza controles HTML.
  2. Luego debemos elegir como vamos a utilizar la librería MFC:
    • Si usamos MFC como un archivo compartido nuestra aplicación (.exe) ocupará poco espacio será portable hacia cualquier sistema operativo Windows que tenga instalado Visual C++ Runtime.
    • En cambio si usamos MFC como una biblioteca estática nuestra aplicación contrendrá todo lo necesario para ejecutarse, puede llegar a ocupar muchos megas y puede portarse a otros sistemas Windows que incluso no tengan instalado Visual C++ Runtime
  3. No usar Bibliotecas Unicode, a menos que sean completamente necesarias.

Paso 3: Elegir las características de la interfaz de usuario


paso3.png
Elegir las características de la interfaz de usuario


Tenemos las siguientes opciones las cuales pueden combinarse:
  • Marco grueso. Si esta activada la propiedad "Border" del diálogo es "Resizing", y si no es "Dialog Frame"
  • Cuadro minimizar: Propiedad "Minimize Box" = True/False
  • cuadro Maximizar: Propiedad "Maximize Box" = True/False
  • Minimizado: Inicia la ventana minimizada.
    Agrega esta linea de código en la función OnInitDialog:
    ShowWindow(SW_MINIMIZE);
  • Maximizado: Inicia la ventana maximizada.
    Agrega esta linea de código en la función OnInitDialog:
    ShowWindow(SW_MAXIMIZE);
  • Menú del sistema: Es el menú que aparece cuando hacemos click derecho sobre la barra de título.
  • Cuadro de diálogo Acerca de: Es un dialogo que muestra información de la aplicación, conocida también como "About... ", a diferencia de las aplicaciones SDI/MDI no tenemos un menú, es por eso que el asistente agrega un segmento de código que permite visualizar este diálogo:
    Code: Seleccionar todo
    1.         ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

    2.         ASSERT(IDM_ABOUTBOX < 0xF000);

    3.  

    4.         CMenu* pSysMenu = GetSystemMenu(FALSE);

    5.         if (pSysMenu != NULL)

    6.         {

    7.                 BOOL bNameValid;

    8.                 CString strAboutMenu;

    9.                 bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);

    10.                 ASSERT(bNameValid);

    11.                 if (!strAboutMenu.IsEmpty())

    12.                 {

    13.                         pSysMenu->AppendMenu(MF_SEPARATOR);

    14.                         pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

    15.                 }

    16.         }

El título por defecto es el nombre de la aplicación que le pusimos al inicio, en este paso puedes cambiarle el nombre de nuestro diálogo principal.

Paso 4: Elegir las características avanzadas


paso4.png
Características avanzadas


  • Ayuda contextual (HTML)
  • Automatización:
  • Controles ActiveX:
  • Windows Sockets:
  • Active Accessibility:
  • Manifiesto de controles comunes:
  • Admitir Administrador de reinicio:

Paso 5: Clases generadas

Una vez elegidas todas las opciones tendremos un diálogo que nos va a mostrar las clases que van a generarse, en este punto podemos elegir las clases bases, es muy importante hacerlo por que luego va a ser un poco tedioso hacer cambios.

paso5.png
Resumen de clases por generarse.


Paso 6: Vista del proyecto generado

Al finalizar el asistente MFC, Visual Studio generará una serie de archivos listos para compilar, pero lo primero que vamos a ver es una ventana donde resaltan tres elementos:
  1. La lista de archivos generados
  2. El formulario MFC listo para dar rienda suelta a nuestra creatividad
  3. Las otras vistas disponibles
paso6.png
Vista del proyecto generado


Paso 7: Ejecutar el proyecto

Al presionar Ctrl + F5 el proyecto empezará a compilarse, suele demorar unos cuantos segundos, luego verán la aplicación MFC basada en dialogo ejecutarse:

paso0.png
Aplicación MFC Basada en diálogo ejecutándose.


Es todo!

Visual C++ es muy versátil al momento de desarrollar aplicaciones para Windows, esto es solo el comienzo!
Tags: MFC

Otros Artículos en esta sección

  • Juego de Ajedrez en Visual C++
    Es un tutorial que te enseña como programar un juego de ajedrez en Visual C++ paso a paso, empezando por dibujar el tablero hasta mover cada una de las piezas.
    Por: ivancp, 2004-03-14
  • Calculadora en Visual C++
    Es un tutorial sobre como implementar una calculadora científica desde cero con Visual C++ con MFC. También se implementa el calculo de algunas funciones matemáticas.
    Por: ivancp, 2008-05-03
  • Descomposicion polinómica método LU
    Es un programa en C++ que implementa la factorización o descomposición LU (del inglés Lower-Upper).
    Por: ivancp, 2004-03-14
¿Alguna duda? Sientete libre de hacer tus pruntas en nuestro:
foro de Visual C++ »