Versión 6
El nuevo Visual C++ de Microsoft proporciona un entorno general, actualizado, a nivel de producción para el desarrollo de todas las aplicaciones para Windows 95/98 y Windows NT. La versión 6 de Visual C++ de Microsoft abarca tres configuraciones diferentes: Ediciones Básicas, Profesionales y para Desarrollo.
Novedades de Visual C++ versión 6
La versión 6.0 de Visual C++ de Microsoft proporciona nuevas prestaciones, tal como AutoCompletion que facilita la codificación, y Edit y Continue que optimiza las sesiones de depuración. Otras prestaciones admiten Active Platform (Plataforma activa), como Dynamic HTML (HTML Dinámico) y Active Document Containment (Contención de documento activo). OLE DB Consumer y Provider Template Support (Soporte de plantilla del proveedor y consumidor OLE DB) y ADO Databinding (Atadura de datos ADO) se han diseñado como ayuda a las bases de datos y para controlar a los desarrolladores que utilizan MFC y ATL. Estas nuevas prestaciones se detallarán a continuación.
La siguiente sección presenta el objetivo y las prestaciones especiales de cada edición. Este libro se preparó utilizando la Edición para Desarrollo; sin embargo, todos los materiales (excepto los que se especifican en el texto) son portables a las tres ediciones.
Edición básica
La edición básica de Visual C++ de Microsoft permite dominar fácilmente el lenguaje C++ mientras se utiliza el conjunto de herramientas de Visual C++ profesional. Esta edición contiene todas las prestaciones de la edición profesional, excepto las optimizaciones de código, el Profiler y el enlace estático a la biblioteca MFC. Es una opción perfecta para los estudiantes y su bajo precio permite aprender C++ de forma independiente. La licencia para la edición básica prohibe utilizar el producto para el desarrollo de software de distribución.
Edición profesional
La edición profesional de Microsoft proporciona a los desarrolladores la licencia para distribuir programas desarrollados bajo esta herramienta, y tiene la ventaja sobre la Edición básica de añadir servicios y controles para plataformas Win32, incluyendo Windows 95/98 y Windows NT. Estas prestaciones permiten conseguir la interfaz de usuario gráfica del sistema operativo o las API de la consola.
Las nuevas prestaciones incorporadas en la Edición Profesional incluyen:
· Nuevas palabras clave de C++ bool, explicit, false, mutable, true y typename, para mejorar el rendimiento de C++.
· Utilización de _declspec para declarar si el atributo de la clase de almacenamiento especificada se aplica a un tipo o a una variable de un tipo.
· El compilador admite archivos COM.
· Opciones de optimización del nuevo compilador
· AppWizard actualizado que automatiza la clase de diálogo en una aplicación basada en diálogos.
· Active Documents (Documentos activos), visualizándose en la ventana de cliente completa de un navegador web (por ejemplo, Internet Explorer), o en un contenedor OLE (por ejemplo, Microsoft Word).
· Biblioteca de plantillas activas (Active Template Library, ATL).
· Biblioteca de tiempo de ejecución de C.
· Biblioteca estándar ANSI de C++.
· ERRLOOK, que mejora los mensajes de error del sistema.
Edición para desarrollo (Enterprise Edition, usada en este texto)
La Edición para desarrollo tiene todas las posibilidades de la Edición profesional y, además, permite a los desarrolladores crear y depurar aplicaciones cliente/servidor para Internet e incluso intranet. Esta edición posee herramientas adicionales para trabajar con bases de datos SQL y depurar procedimientos SQL almacenados. El sistema de control de código fuente Visual SourceSafe simplifica el desarrollo en un entorno de equipo. Las prestaciones exclusivas de la Edición para desarrollo incluyen:
· Servidor de transacción de Microsoft especializado.
· Herramientas de bases de datos visuales;
· Admite tipos de datos SQL extensivos.
-NOTA A menos que se indique explícitamente, las aplicaciones de este libro se pueden compilar con cualquier versión del compilador Por ejemplo, las aplicaciones de los Capítulos 1 al 20 son aplicaciones estándar C ó C++ de la línea de órdenes, que se pueden ejecutar en MS-DOS o en un cuadro compatible bajo Windows 95/98 Windows NT Del mismo modo, las aplicaciones Windows desarrolladas en el Capítulo 25 se ejecutarán bajo Windows 95/98 o Windows NT
Esta última versión del compilador Visual C++ incorpora muchas prestaciones nuevas y de mayor calidad. Algunas de las más importantes incluyen el admitir el estándar AT&T C++2.1, cabeceras precompiladas, prestaciones en línea y p-código (código empaquetado).
El compilador Visual C++ de Microsoft también proporciona herramientas para la Implementación de programas en Windows, generados para otras plataformas. El código puede incluso tener las ventajas tanto de Apple Macintosh como de otras máquinas RISC. El compilador C++ incluye todos los archivos de cabecera, bibliotecas y editores de diálogo y de recursos necesarios para crear una aplicación en Windows verdaderamente consistente. Microsoft también ha incorporado los editores de recursos para mapas de bit, iconos, cursores, menús y cuadros de diálogo, directamente integrados en el entorno. Y hablando de integración, la nueva clase de asistentes (ClassWizards) ayuda a construir aplicaciones OLE utilizando las bibliotecas Microsoft Foundation CLass (MFÑ)en tiempo récord.
En este capitulo se conocerán varios componentes del compilador de C++, los requerimientos del sistema y recomendaciones para establecer el entorno de desarrollo. Este capítulo explica el sistema Visual C++ de Microsoft y muestra cómo ajustarlo a las necesidades particulares del programador.
Muchos de los temas que se tratan en este capítulo se verán con mayor detalle a lo largo del libro. Por ejemplo, hay capítulos específicos sobre la biblioteca de clases Microsoft Foundation Class, ClassWizards (asistentes de clases), OLE y demás.
Hardware recomendado
Esta sección indica las recomendaciones hardware y software que ayudarán a obtener la mayoría de las salidas del compilador Visual C++ de Microsoft. Muchas de las sugerencias pretenden mejorar el rendimiento completo del sistema, mientras que otras intentan hacer el producto más agradable de utilizar.
Requisitos mínimos hardware y software
El compilador Visual C++ estándar de Microsoft funcionará en un gran rango de computadoras con procesadores Intel.
NOTA- Hay versiones especiales del compilador Visual C++ para los sistemas MIPS & DEC Alpha AXP y Macintosh.
La siguiente lista muestra los requerimientos hardware y software mínimos necesarios para ejecutar la versión de 32 bits del compilador Visual C++ de Microsoft:
· Microsoft Windows 95/98 o Windows NT.
· Microsoft Visual C++
· Intel 486 o superior
· l6MB de RAM.
· Pantalla con resolución 800 x 600 o superior
· 20 MB de espacio de disco fijo libre.
· Ratón u otro periférico para señalar.
· InstallWizard está diseñado para computadoras típicas de desarrollo, lo que significa un procesador Pentium y una resolución de 800 x 600 o superior. Se puede ejecutar lnstallWizard en una pantalla de 640 x 480, pero es posible que se necesite disponer de ventanas diferentes para ver toda la información.
Hardware y Software recomendados
Los requerimientos software y hardware mínimos no siempre son la opción óptima para la facilidad de uso, rendimiento y disfrute del producto completo. Recomendamos el siguiente perfil de sistema para optimizar el ciclo de desarrollo de programas en C y C++.
· PC con procesador Pentium, a velocidad de 200MHz (o superior).
· 32 MB de RAM.
· 1GB de espacio de disco fijo.
· Monitor Super VGA.
· Unidad de disco de alta densidad (3,5 pulgadas).
· Unidad de CD-ROM (para documentación en línea).
· Ratón lntelliPoint de Microsoft.
Será conveniente un microprocesador rápido que pueda manejar el tamaño y complejidad de las aplicaciones Windows avanzadas. La cantidad de memoria maximiza el rendimiento completo tanto de Visual C++ de Microsoft como del entorno Windows (también se puede obtener un aumento de este rendimiento teniendo gran cantidad de espacio de disco libre).
Aparecen dos sistemas operativos como nuevos estándares para los PC de 32 bits; Windows 95/98, o su primo más robusto, Windows NT. Si no se tiene actualizado Windows 95/98 o Windows NT, se debería hacer antes de instalar el compilador de C++ de Microsoft.
Las mejoras realizadas a Windows 95/98 y a Windows NT, proporcionan las prestaciones y el rendimiento necesario para crear aplicaciones de gran actualidad en Windows. Conforme se desarrollen estas aplicaciones en un entorno gráfico, se apreciará la resolución de los monitores Super VGA. Se recomienda comprar un monitor con una pantalla tan grande como sea posible.
Instalación habitual de Windows
La instalación del compilador Visual C++ de Microsoft se realiza casi automáticamente. Sin embargo, existen algunas preguntas que habrá que responder. En esta sección se echará un vistazo a una instalación típica para la versión de 32 bits del compilador.
1. Ejecútese el programa SETUP.ExE del primer disco o del CD-ROM de Visual C++, desde Windows 95/98 o Windows NT.
2. Se le proporcionará una serie de opciones para la instalación, tal como Typical, Custom, Mínimum o CD-ROM. La cantidad de espacio de disco fijo necesaria depende de la opción seleccionada. Se recomienda la instalación Typícal. También es posible establecer la partición del disco fijo o el subdirectorio donde se va a realizar la instalación.
3. Se le pedirá que introduzca el Nombre, Organización y Código del Producto. Esta información debe introducirse con cuidado.
4. En este punto, los archivos se copiarán de los discos o el CD-ROM al disco fijo. Se puede visualizar el proceso mostrando el cuadro de diálogo File Copy Process. Esta instalación tardará unos 20 minutos en un Pentium a 200MHz utilizando una unidad de CD-ROM 8x.
5. Cuando se hayan instalado todos los archivos, habrá que indicar si se va a modificar la configuración ahora o más tarde. Se recomienda la primera opción: make changes now and backup current version (realice los cambios ahora y vuelva a la versión actual).
6. Se recibirá una indicación para registrar todas las variables del entorno.
Ésta aparecerá en forma de cuadro de verificación, con el cuadro ya verificado. En este momento, se acepta el que hay por omisión: and register the environment variables (Y registre las variables del entorno). Registrando las variables del entorno, se le proporcionará al compilador una información muy importante sobre el sistema.
7. Con la instalación terminada, reinicie el sistema completo para que todos los cambios tengan efecto.
Documentación
La documentación en línea de Visual C++ consta de Quick Reference (Referencia rápida) y Books Online (Documentación en línea). La Referencia rápida permite localizar rápidamente la información mientras se está programando. La Documentación en línea es el conjunto de documentación para Visual C++ en formato en línea. Todos los temas de Referencia rápida tienen un enlace a la Documentación en línea, donde está disponible la información completa.
Dependiendo de la opción de instalación que se seleccione, Visual C++ instalará los archivos de Referencia rápida en el disco fijo, mientras que los archivos de la Documentación en línea pueden permanecer en el CD-ROM. (Nota: seleccione esta configuración de instalación si necesita conservar espacio en el disco fijo.) Se puede personalizar dónde establecer los archivos o dónde obtener la información, o ir directamente a Books Online (Documentación en línea) para la ayuda sensible al contexto (FI). Los temas que cubren incluyen:
· Microsoft Foundation Class (MFC).
· Programación con la biblioteca de clases Microsoft Foundation Class.
· Referencia a la biblioteca de clases.
· Ejemplos de MFC.
· Notas técnicas de MFC.
· Técnicas de programación.
· Referencia al lenguaje C.
· Referencia al lenguaje C++
· Referencia a la biblioteca en tiempo de ejecución.
· Referencia al flujo de E/S.
· Referencia al preprocesador.
· Ejemplos de C/C++
· Win32 Software Development Kit (SDK). (Kit de desarrollo de software para Win32.)
· Funciones API 32.
· Referencia del programador en Win32.
· Buzones de Windows.
· OLE Software Development Kit (SDK) (Kít de desarrollo de software para OLE.)
Directorios
La Tabla 1.1 muestra el grupo típico de subdirectorios para la instalación del compilador Visual C++, realizado en el subdirectorio MSVC.
También se encontrarán varios archivos README en el subdirectorio MSDEV. Estos archivos se utilizan para proporcionar información sobre la última versión (y errores) del compilador.
Tabla 1.1. Subdirectorios importantes de Visual C++
Localización Objetivo
BIN Archivos ejecutables y herramientas de desarrollo necesarias para implementar aplicaciones de 32 bits.
HELP Archivos de ayuda.
INCLUDE Archivos de cabecera y de tiempo de ejecución de C++
LIB Bibliotecas de Win32 SDK y de tiempo de ejecución de C++
MFC Microsoft Foundation Class (MFC).
Archivos de Biblioteca
OLE Archivos para el desarrollo de aplicaciones OLE.
PROJECTS Subdirectorio utilizado para organizar los proyectos de desarrollo.
TEMPLATES Subdirectorio utilizado para organizar las plantillas de objetos.
SAMPLES Programas de ejemplo.
El sistema de desarrollo
El compilador Visual C++ de 32 bits de Microsoft para Windows 95/98 y Windows NT incorpora nuevas herramientas de desarrollo de Windows completamente integradas y una interfaz visual. Por ejemplo, las capacidades de depuración del CodeView original de Microsoft son ahora directamente accesibles desde el depurador integrado del compilador Las secciones siguientes muestran aquellas utilidades que incorpora directamente el compilador Visual C++ de Microsoft.
El nuevo depurador integrado
Microsoft extrae directamente la potencia de su depurador CodeView original en la plataforma de Visual C++ y la coloca en su nuevo depurador integrado. Al depurador se accede desde el menú Debug (Depurar). El depurador integrado permite ejecutar programas en un solo paso, visualizar y cambiar contenidos de las variables, e incluso volver a las secciones de código. Será de gran ayuda para aquellos programas que se compilan, pero que no parece que realizan lo que se esperaba.
Los nuevos editores de recursos integrados
A estos editores se accede desde el menú Resource (Recurso). Los editores de recursos permiten diseñar y crear recursos de Windows, como mapas de bits, cursores, iconos, menús y cuadros de diálogo. Los recursos permiten crear interfaces de usuario visualmente atractivas para las aplicaciones. En las próximas secciones, se verá información específica sobre cuatro de los editores de recursos más conocidos.
El editor de cuadros de diálogo
El editor Cuadro de diálogo es una herramienta de desarrollo gráfico importante que permite crear rápida y fácilmente cuadros de diálogo de aspecto profesional. El editor Cuadro de etiquetas de los cuadros de diálogo, marcos, selecciones de opciones y cuadros de verificación, ventanas de texto y barras de desplazamiento.
El editor Cuadro de diálogo permite combinar numerosos controles en los cuadros de diálogo personalizados. Los controles combinan una representación gráfica visual de una característica con un conjunto predefinido de propiedades que se puede personalizar Por ejemplo, los cuadros de verificación, los botones de opción y los cuadros de lista son todos los formatos de controles de Windows.
Los editores de imágenes
Los editores de imágenes gráficas permiten crear fácilmente mapas de bits, iconos y cursores personalizados. Un mapa de bit es un dibujo de algo (por ejemplo, una exclamación utilizada en un mensaje de advertencia). Un icono es una imagen en color pequeña utilizada para representar una aplicación cuando se minimiza. Visual C++ incluso permite utilizar un editor de imagen para crear cursores personalizados. Por ejemplo, se podría diseñar un paquete financiero con un cursor similar al signo de dólar Los iconos, cursores y mapas de bits personalizados se pueden guardar en un archivo con extensión .RC y se pueden utilizar en archivos de órdenes de recursos. Se conocerá la forma de utilizar estos recursos en los Capítulos 20 al 23.
El editor binario
El editor binario permite editar un recurso a nivel binario en formato hexadecimal o ASCII. También puede utilizar la orden Find (Buscar) para buscar cadenas ASCII o bytes hexadecimales, y utilizar expresiones regulares con la orden Find para que se ajusten a un patrón. Sólo se deberla utilizar el editor binario cuando se necesite visualizar o realizar pequeños cambios sobre los recursos personalizados o tipos de recursos que no soporte el entorno Microsoft Developer Studio.
El editor de cadenas
Una tabla de cadenas es un recurso de Windows que contiene una lista de identificadores (ID), valores y nombres para todas las cadenas de la aplicación. Por ejemplo, el indicador de la barra de estado se encuentra en la tabla de cadenas. Una aplicación sólo puede tener una tabla de cadenas. Las tablas de cadenas facilitan la localización de la aplicación en diferentes lenguajes Si todas las cadenas están en una tabla de cadenas, se puede localizar la aplicación traduciendo las cadenas (y otros recursos) sin modificar el código fuente.
Herramientas adicionales
Las herramientas adicionales de Visual C++ que están integradas en el compilador se encuentran en el menú Tools (Herramientas). Estas incluyen Spy++, MFC Tracer, Control Wizard, AVI Editor, DataObject Viewer y ActiveX Control Test Container. La utilidad Spy++ será de gran ayuda cuando se trabaje con aplicaciones Windows de 32 bits.
Active Control Test Container (Contenedor de prueba de controles activos)
La herramienta Test Container (Contenedor de prueba) es una aplicación diseñada por Microsoft que permite probar rápidamente los controles personalizados. Las propiedades y prestaciones del control se pueden modificar en el contenedor de prueba.
API Text Viewer (Visor de Texto API)
API Text Viewer permite visualizar constantes, variables, declaraciones y tipos que se pueden copiar desde archivos API a aplicaciones de Visual Basic.
AVI Editor (Editor AVI)
AVI Editor permite visualizar, editar y unir archivos AVI.
Data Object Viewer (Visor de objetos de datos)
Data Object Viewer muestra la lista de los formatos de datos ofrecidos por los objetos de datos OLE y ActiveX creados por el Portapapeles o por operaciones de arrastrar y pegar
DDE Spy
DDE Spy se utiliza para hacer un seguimiento de todos los mensajes.
DocFile Viewer (Visor de DocFile)
DocFile Viewer muestra los contenidos de un archivo compuesto pequeño.
Error Lookup
Esta herramienta permite visualizar un análisis detallado de un mensaje de error.
Help Walk Utility
La utilidad help Walk enumera los bloques de memoria en una pila específica.
Help Workshop
Esta herramienta ofrece el marco de trabajo adecuado para navegar desde las interfaces de usuario de una aplicación a los contextos de ayuda. La Implementación de la navegación adicional dentro del archivo de Ayuda forma parte del dominio de la edición de ayuda y no del dominio de la programación. El objetivo de esta utilidad es describir el proceso general sobre la edición de archivos de Ayuda.
Cliente OLE, Herramientas y Vistas
El OLE Viewer muestra los objetos OLE y ActiveX instalados en la computadora y las interfaces que admiten. También permite editar el registro y ver las bibliotecas de tipos.
Process Víewer (Visor del proceso)
El Process Viewer permite establecer y visualizar rápidamente todas las opciones necesarias para seguir los procesos elementos de proceso y de intervalo temporal del procesador actual. Para iniciar el Process Viewer simplemente se pulsa dos veces con el ratón sobre el icono Process Viewer en el cuadro de grupo Visual C++.
El Process Viewer puede ayudar a resolver algunas cuestiones:
· ¿Cuánta memoria asigna el programa en distintos puntos de su ejecución?
· ¿Cuánta memoria está siendo paginada?
· ¿Qué procesos y elementos de proceso están utilizando el mayor tiempo de CPU?
· ¿Cómo se ejecuta el programa para diferentes prioridades del sistema?
· ¿Qué sucede si un elemento de proceso o un proceso se detiene respondiendo a un DDE, un OLE o una E/S canalizada?
· ¿Qué porcentaje de tiempo se emplea en la ejecución de llamadas API?
Resource Viewer (Visor de recursos)
Esta herramienta permite acceder a los recursos del proyecto.
ROT Viewer (Visor ROT)
ROT Viewer muestra información sobre los objetos ActiveX y OLE que actualmente están en memoria.
Spy++
Spy++ es una utilidad que proporciona una visión gráfica de los procesos, elementos de proceso, ventanas y mensajes de ventanas del sistema.
Stress Utility (Utilidad Stress)
La aplicación Stress permite la adquisición de recursos del sistema para las pruebas difíciles con pocos recursos. Los recursos obtenidos incluyen la pila global, la pila de usuario, la pila GDI, el espacio de disco y los descriptores de archivos. Stress ofrece las asignaciones de estos recursos de forma fija, aleatoria y dependientes del mensaje. Además proporciona varias opciones de incidencias para ayudar a localizar y reproducir los errores.
MFC Tracer
MFC Tracer es una herramienta que permite al programador configurar los indicadores de seguimiento de AFX.INI. Estos indicadores se utilizan para definir la categoría de los mensajes Trace que se envían desde la aplicación a la ventana de depuración. Por tanto, Tracer es una herramienta de depuración. La herramienta MFC Tracer se utilizará al desarrollar aplicaciones MFC en los Capítulos 23 al 27.
UUID Generator (Generador UUID)
UUID Generator se utiliza para generar un identificador único (UUID) que permite que las aplicaciones del cliente y del servidor se reconozcan mutuamente.
WinDiff
La utilidad WinDiff también se encuentra en el grupo Visual C++ Esta herramienta permite comparar gráficamente y modificar dos archivos o dos directorios. Todas las opciones de WinDiff funcionan como sus equivalentes en el Explorador de Windows 95/98 o en el Explorador de Windows NT.
Zoomin
La utilidad Zoomin (ZOOMIN.EXE) se puede utilizar para capturar y ampliar una parte del escritorio de Windows.
Nuevas herramientas y utilidades
El nuevo Developer Studio ha incorporado nuevas y mejores prestaciones para hacerlo más fácil incluso que desarrollar aplicaciones de clase universal. Las nuevas incorporaciones incluyen la posibilidad de acceder a Visual J++ 1.1 y Visual lnterDev, así como Visual C++ 6.0 y MSDN.
Automatización y macros
Con 1as secuencias de ordenes (Script) de Visual Basic se pueden automatizar rutinas o tareas repetitivas. Mientras que el almacenamiento de una macro permite editar de forma sencilla y rápida. Developer Studio permite manipular componentes Studio como objetos, permitiendo automatizar tareas que incluyen apertura, edición y cierre de documentos o modificar el tamaño de las ventanas. También se pueden crear entradas integradas utilizando el modelo de objetos de Developer Studio.
Visor de clases (Classview)
El nuevo Visor de clases mejorado funciona tanto con las clases de Java como con las clases de C++. Se pueden crear nuevas clases utilizando la MFC la ATL o clases personalizadas. El visor de clases también presenta la posibilidad de visualizar y editar interfaces para objetos COM implementados en MFC o ATL. También se pueden utilizar carpetas para organizar las clases de la forma deseada.
Barras de herramientas y menús personalizables
Developer Studio facilita la personalización de las barras de herramientas y de los menús para ajustarse a la forma de trabajo del usuario Por ejemplo. se puede:
· Añadir un menú a una barra de herramientas.
· Añadir o eliminar órdenes de un menú o botones de una barra de herramientas.
· Cambiar un botón de una barra de herramientas dentro de una orden de un menu.
· Copiar un botón de un menú o de una barra de herramientas desde una barra de herramientas a otra, de forma que siempre esté accesible.
· Diseñar nuevas barras de herramientas o menús.
· Personalizar un menú o una barra de herramientas existente.
· Volver a asignar una orden de un menú, convirtiéndola en un botón de una barra de herramientas.
Conectivídad con Internet
La visualización de páginas Word Wide Web en el Developer Studio es bastante rápida con el novedoso InfoViewer o con el propio navegador web registrado para visualizar Microsoft en el Web. Con una dirección web en la ventana URL, se puede pulsar con el ratón la dirección para visualizar la página web. Esta prestación permite a los usuarios de Visual Studio asegurar la obtención de las últimas noticias, documentación, localizaciones y/o mejoras conforme se encuentren disponibles.
Archivos y áreas de trabajo de proyectos
El nuevo sistema de proyecto flexible de Developer Studio permite, de forma sencilla, disponer de un espacio de trabajo con diferentes tipos de proyectos. Por ejemplo, se puede crear un espacio de trabajo que contenga un proyecto de Visual ínterDev y una applet (pequeña aplicación) de J++.
NOTA- Los archivos del espacio de trabajo tienen ahora la extensión.DSW (anteriormente era.MDP). Los archivos del proyecto tienen ahora la extensión DSP (anteriormente era.MAk).
Ahora existen dos tipos de archivos Build: internos (.DSP) y externos (.MAK). Todos los archivos DSP se crean al crear un nuevo proyecto dentro del entorno Developer Studio o cuando convierte un proyecto de una versión anterior. (Nota: los archivos DSP no son compatibles con NMAKE.) Se puede crear un archivo externo.MAK, compatible con NMAKE, seleccionando la opción Export Makefile del menú Project.
Los proyectos pueden incluir ahora documentos activos, como archivos de hojas de cálculo y documentos de Word. Incluso se pueden editar sin abandonar el entorno integrado de desarrollo de Visual Studio.
Cuando se inicia un nuevo espacio de trabajo, el Developer Studio crea un archivo con el nombre MINOMBREESPACIOTRABAJO.DSW, que tiene una nueva extensión, . DSW. Los archivos del espacio de trabajo ya no incluyen datos específicos de la computadora local. En este momento es posible:
· Añadir el archivo del espacio de trabajo a un proyecto fuente de control definido previamente.
· Copiar un espacio de trabajo de otra computadora o de un directorio de la red y abrir directamente la copia del espacio de trabajo, sin crear un nuevo archivo de espacio de trabajo para la computadora local.
· Utilizar editores de recursos.
· Utilizar el WizardBar con cuadros de diálogo para enlazar el código con los elementos visuales del programa.
Asistentes (Wizards)
El nuevo Developer Studio de Microsoft incorpora muchos asistentes nuevos, incluyendo algunos para el nuevo Visual J++ integrado y los paquetes Visual InterDev (disponibles sí se tienen instalados estos paquetes). Se pueden utilizar estos asistentes para crear archivos, controles y nuevos tipos de proyectos.
Prestaciones importantes del compilador
El compilador Visual C++ contiene muchas mejoras, nuevas prestaciones y opciones útiles. Las siguientes secciones introducen estas mejoras y explican brevemente sus utilizaciones.
Código P (P-code)
El código-P (abreviatura de "código empaquetado") se genera para optimizar la velocidad y el tamaño del código. El código-P puede reducir de forma significativa el tamaño de un programa y la velocidad de ejecución en más de un 60 por lOO. Mejor aún, todo esto se ejecuta simplemente cuando se activa una opción específica del compilador Esto significa que cualquier código escrito en C o en C++ se puede compilar normalmente o con código-P.
Esta tecnología compila un código fuente de una aplicación dentro del "código objeto interpretado", que es una representación más condensada del código objeto y con un nivel mayor El proceso finaliza cuando se enlaza un pequeño módulo intérprete con la aplicación.
Sin embargo, la utilización eficiente de esta tecnología requiere cierta habilidad. Como el intérprete genera código objeto en tiempo de ejecución, el código-P se ejecuta más lentamente que el código objeto origen. Con una utilización muy cuidadosa de la directiva #pragma, una aplicación puede generar código-P para funciones críticas en cuanto a espacio y pasar a generar código origen para funciones de velocidad crítica.
Las mejores candidatas para la generación de código-P son aquellas rutinas que tratan con la interfaz de usuario, y como muchas aplicaciones Windows emplean el 50 por 100 de su tiempo generando la interfaz de usuario, el código-P proporciona las características de rendimiento óptimas.
Cabeceras y tipos precompilados
Visual C++ coloca tipos genéricos, prototipos de funciones, referencias externas y declaraciones de funciones miembro en unos archivos especiales denominados archivos de cabecera. Éstos contienen muchas de las definiciones críticas necesarias por los múltiples archivos fuente que actúan conjuntamente para crear la versión ejecutable del programa. Algunas de las partes de estos archivos de cabecera normalmente vuelven a ser compiladas por cada módulo que la incluye. Desafortunadamente, repetir la compilación de parte del código puede hacer más lento el compilador.
Visual C++ aumenta la velocidad del proceso de compilación, permitiendo precompilar los archivos cabecera. Aunque el concepto de cabeceras precompiladas no es nuevo, la forma en que Microsoft ha implementado esta característica sí lo es. La precompilación guarda el estado de la compilación de una aplicación en un cierto punto y representa la relación que se establece entre el archivo fuente y la cabecera precompilada. Es posible crear más de un archivo de cabecera precompilado por archivo fuente.
Una de las mejores aplicaciones de esta tecnología afecta al ciclo de desarrollo de una aplicación que tiene frecuentes cambios en el código pero no frecuentes definiciones de la clase base. Si el archivo de cabecera está precompilado, el compilador puede concentrar su tiempo en los cambios del código fuente. Las cabeceras precompiladas también proporcionan un aumento en el tiempo de compilación para aplicaciones con cabeceras que constan de grandes porciones de código para un módulo dado, como suele suceder con los programas en C++.
El compilador de Visual C++ supone que el estado actual del entorno del compilador es el mismo que cuando se compilaron algunas de las cabeceras precompiladas. El compilador mostrará un aviso si detecta alguna inconsistencia. Tal inconsistencia podría resultar de una modificación en los modelos de memoria, de un cambio en el estado de las constantes definidas o de la elección de las diferentes opciones para la depuración o la generación de código.
A diferencia de otros muchos compiladores de C++, el compilador de C++ de Microsoft no limita la precompilación a los archivos de cabecera. Como el proceso permite precompilar un programa hasta un punto especifico, puede incluso precompilar el código fuente. Esto es extremadamente significativo para los programas en C++ ya que contienen la mayoría de las definiciones de la función miembro en archivos cabecera. En general, la precompilación está reservada para aquellas partes del programa que son consideradas estables; se diseña para minimizar el tiempo necesario para compilar las partes del programa en el desarrollo.
La biblioteca Microsoft Foundation Class (MFC)
Las aplicaciones Windows son fáciles de utilizar, pero no de desarrollar. Muchos programadores están cansados de tener que manejar cientos de funciones API de Windows, que son necesarias para escribir aplicaciones Windows.
La solución de Microsoft a este paso de aprendizaje angosto es la biblioteca fundation Class orientada a objetos. Las clases reutilizables de C++ son mucho más fáciles de dominar y utilizar La biblioteca Microsoft Foundation Class (MFC) tiene todas las ventajas de la abstracción de datos ofrecida por C++ y su uso simplifica la programación en Windows. Los programadores principiantes pueden utilizar las clases a modo de un "recetario" y los programadores experimentados en C++ pueden extender las clases o integrarlas en su propia jerarquía de clases.
La biblioteca MFC contiene clases para la gestión de objetos Windows y ofrece una serie de clases de propósito general que se pueden utilizar en aplicaciones tanto MS-DOS como Windows. Por ejemplo, existen clases para crear y gestionar archivos, cadenas, tiempo, almacenamiento permanente y manejo de excepciones.
En efecto, la biblioteca MFC representa casi todas las prestaciones API de Windows e incluye un código sofisticado que simplifica el procesamiento de mensajes, diagnósticos y otros detalles que son partes normales de todas las aplicaciones Windows. Esta combinación lógica y el aumento de funciones API de Windows tiene diez ventajas claves:
· Las funciones MFC son sencillas de aprender Microsoft ha hecho un gran esfuerzo para mantener los nombres de las funciones MFC y los parámetros asociados son lo más similar posible a las clases padre API de Windows. Esto minimiza la confusión para los programadores de Windows experimentados que deseen obtener las ventajas de la plataforma MFC simplificada. También facilita a los programadores que se inician en Windows el crecimiento dentro del superconjunto de las funciones API de Windows cuando se esté preparado o cuando la aplicación lo requiera.
· El código C++ es más eficiente. Una aplicación utilizará sólo un poco de RAM extra cuando utilice las clases de la biblioteca MFC. La velocidad de ejecución de una aplicación MFC es casi idéntica a la misma aplicación escrita en C y utilizando el estándar API de Windows.
· La biblioteca MFC ofrece un manejo automático del mensaje. La biblioteca Microsoft Foundation Class elimina una fuente frecuente de errores de programación, el bucle del mensaje API de Windows. Las clases MFC están diseñadas para manejar de forma automática cada uno de los mensajes de Windows. En lugar de utilizar las instrucciones sensibles al contexto estándares, cada uno de los mensajes de Windows se proyecta directamente a una función miembro, que toma la acción apropiada.
· La biblioteca MFC permite diagnósticos propios. Incorporada a la biblioteca MFC se encuentra la posibilidad de realizar diagnósticos propios. Esto significa que puede verter información sobre varios objetos a un archivo y validar un miembro del objeto variable, todos en un formato fácil de entender
· La biblioteca MFC incorpora una arquitectura robusta. Anticipando la gran necesidad del estándar ANSI de C, la biblioteca Microsoft Foundation Class ya incorpora una amplia arquitectura del manejo de excepciones. Esto permite que un objeto MFC recupere elocuentemente a partir de condiciones de errores estándar, tales como "sin memoria", selección de opción no válida y problemas cargando el recurso o el archivo. Cada componente de la arquitectura es más compatible con las recomendaciones ANSI de C propuestas.
· La biblioteca MFC ofrece la introducción de objetos dinámicos. Esta prestación extremadamente potente retrasa la introducción de un objeto asignado dinámicamente hasta el tiempo de ejecución. Esto permite manipular un objeto sin tener que preocuparse de su tipo de datos subyacente. Como la información sobre el tipo de objeto se devuelve en tiempo de ejecución, el programador está exento de un nivel de detalle adicional.
· La biblioteca MFC puede coexistir en armonía con aplicaciones de Windows basadas en C. La prestación más importante de la biblioteca Microsoft Foundation Class es la posibilidad de coexistir con aplicaciones de Windows basadas en C que utilizan las API de Windows. Los programadores pueden utilizar una combinación de clases MFC y llamadas a API de Windows dentro del mismo programa. Esto permite que una aplicación MFC se desarrolle fácilmente dentro del código orientado a objetos de C++ como la experiencia o la demanda requiera. Este entorno transparente es posible debido a los convenios de denominación comunes entre las dos arquitecturas. Esto significa que las cabeceras MFC, los tipos y las definiciones globales no tengan conflictos Con los nombres de las API de Windows. La gestión transparente de la memoria es otro componente clave para que esta relación tenga éxito.
· La biblioteca MFC se puede utilizar con MS-DOS La biblioteca Microsoft Foundation Class se diseñó específicamente para desarrollar aplicaciones en Windows. Sin embargo, muchas de las clases proporcionan frecuentemente los objetos necesarios para la manipulación de cadenas y de archivos de E/S. Por esta razón, estas clases de propósito general pueden utilizarlas tanto los desarrolladores de Windows como los de MS-DOS.
· La biblioteca MFC y los asistentes. Los asistentes de Control y de Clases sólo crean un código compatible con MFC. Estos desarrolladores de programas dinámicos son necesarios para el desarrollo de aplicaciones OLE.
Funciones inline (Funciones en línea)
El compilador de Visual C++ de Microsoft admite completamente las funciones en línea. Esto significa que las funciones de cualquier tipo o combinación de instrucciones pueden ser expandidas en línea. Muchos de los compiladores de C++ conocidos restringen la característica en línea a ciertos tipos de instrucciones o expresiones (por ejemplo, la opción en línea podría ser ignorada por cualquier función que contenga una instrucción switch, while o for). El compilador de Visual C++ permite controlar las rutinas más críticas en velocidad (incluyendo los constructores o funciones miembro de las clases muy pocas veces utilizadas) sin restringir su contenido. Esta opción se establece en el menú Project, seleccionando la opción Settings..., a continuación la carpeta C/C++ y, finalmente, Optimizations en la lista Category.
Opciones del compilador
Los compiladores de Visual C++ utilizados en este libro son compiladores de optimización global que permiten obtener todas la ventajas de las distintas opciones de velocidad o tamaño del código para cada tipo de programa desarrollado. En esta sección, se tratarán aquellas opciones directamente relacionadas con el compilador C++ de Microsoft de 32 bit, versión 4.0. Si se está utilizando un compilador de 16 y/o 32 bit, versión 2.0, las opciones serán similares, pero situadas en diferentes fichas.
Las siguientes opciones del compilador permiten optimizar el código del ejecutable en tamaño, velocidad o tiempo de desarrollo. Si no se observa un aumento del rendimiento apreciable, es posible que la aplicación de prueba no contenga suficiente código. Todas las opciones se establecen a partir del menú Build seleccionando la opción de menú Settings.
Generales
En la ficha General se puede especificar la utilización o no de la biblioteca Microsoft Foundation Class. También se pueden indicar los directorios de salida para archivos compilados en C/C++ intermedios y finales.
Debug (Depuración)
En la ficha Debug se puede especificar la ubicación de un archivo ejecutable junto con el directorio de trabajo, los argumentos opcionales del programa y un nombre de archivo y camino para ejecutables remotos. Además, utilizando la lista Category, se pueden especificar las bibliotecas de enlace dinámicas adicionales (DLL).
Custom Build (Construcción personalizada)
En la ficha Custom Build se pueden especificar herramientas personalizadas para utilizar en proyectos de desarrollo. Esto incluye herramientas para la ejecución del archivo resultante de la configuración del proyecto.
La ficha C/C++ permite seleccionar de entre las siguientes categorías: General, C++ Language (Lenguaje C++), Code Generation (Generación de código), Customization (Personalización), Listing Files (Listado de archivos), Optimizations (Optimizaciones), Precompiled Headers (Archivos de cabecera precompilados) y Preprocessor (Preprocesador).
General
La categoría General permite definir el nivel de advertencias, especificar la información de depuración, establecer las optimizaciones del compilador indicar las definiciones del preprocesador y listar las opciones del proyecto.
C++ Language (Lenguaje C++)
La categoría C++ Language (Lenguaje C++) permite especificar el método de representación, establecer el manejo de excepciones, el tipo de información en tiempo de ejecución y los cambios en los desarrollos, así como listar las opciones del proyecto.
Code Generation (Generación de código)
La categoría Code Generation (Generación de código) permite determinar el microprocesador (de 80386 a Pentium), indicar los convenios de llamada, especificar la biblioteca de tiempo de ejecución, anotar la alineación de los miembros de la estructura y listar las opciones del proyecto.
Customization (Personalización)
La categoría Customization permite activar o desactivar los siguientes elementos:
· Extensiones del lenguaje.
· Enlace a nivel de función.
· Cadenas duplicadas.
· Reconstrucción mínima.
· Compilación incremental.
· Supresión del mensaje de información y la identificación.
Listing Files (Listado de archivos)
La categoría Listing Files (Listado de archivos) permite la generación de información de visualización. Además, se puede establecer el destino del archivo de visualización. En este archivo se permiten variables locales. Los tipos de archivo se pueden establecer de forma opcional. Se listan las opciones del proyecto.
Optimizations (Optimizaciones)
La categoría Optimizations (Optimizaciones) permite definir varias optimizaciones del código, tales como velocidad, tamaño, y otras. También se puede indicar la expansión de las funciones en línea. Se listan las opciones del proyecto.
Precompiled Headers (Archivos de cabecera precompilados)
La categoría Precompiled Headers (Archivos de cabecera precompilados) permite la utilización de archivos de cabecera precompilados. Estos son archivos con extensiones PCH. Los archivos de cabecera precompilados aumentan la velocidad del proceso de enlace y compilación, pero deben eliminarse del directorio donde se encuentra el proyecto completo debido a su gran tamaño. Se listan las opciones del proyecto.
Preprocessor (Preprocesador)
La categoría Preprocessor (Preprocesador) permite indicar las definiciones del preprocesador También es posible incluir directorios adicionales (subdirectorios que contienen los archivos de cabecera) e ignorar caminos estándar. Se listan las opciones del proyecto.
Línk (Enlace)
La ficha Link (Enlace) permite seleccionar de entre las siguientes categorías: General (General), Customization (Personalización), Debug (Depuración), Input (Entrada) y Output (Salida).
General (General)
En la categoría General se pueden especificar el nombre y la extensión del archivo. Lo más normal es que la extensión sea EXE. Sin embargo, en este libro se aprenderán a desarrollar aplicaciones con extensiones de archivo.DLL y .SCR. También se pueden introducir los módulos de objetos/biblioteca. Estos son muy importantes para las aplicaciones multimedia, donde se supone que no se utilizan bibliotecas específicas. También se pueden incluir los siguientes elementos:
· Depuración de información.
· Enlace incremental.
· Ignorar las bibliotecas por omisión.
· Generación de un archivo de seguimiento.
Customization (Personalización)
La categoría Customization permite incluir los siguientes elementos:
· Enlace incremental.
· Base de datos del programa.
· Nombre de los archivos de salida.
· Identificación de inicio.
Debug (Depuración)
La categoría Debug permite la generación de un archivo de seguimiento y la información de depuración en varios formatos.
lnput (Entrada)
La categoría Input permite la especificación de módulos de objetos/biblioteca. De forma adicional, se indican las referencias a símbolos y los nombres de los archivos de resguardo de MS-DOS.
Output (Salida)
La categoría Output permite establecer las direcciones base, el punto de entrada, la ubicación de la pila y la información de la versión para el proyecto.
Resources (Recursos)
La ficha Resources (Recursos) permite asignar el archivo de recursos (normalmente un archivo con extensión RES).
Las prestaciones adicionales incluyen el lenguaje, los directorios de inclusión de recursos y las definiciones del preprocesador
OLE Types (Tipos OLE)
La ficha OLE Types (Tipos OLE) permite especificar el nombre del archivo de salida, el nombre del archivo de cabecera de salida, las definiciones del preprocesador y el identificador de inicio.
Browse Info (información de exploración)
La tecla Browse Info permite especificar el nombre del archivo de información de exploración. Además, se pueden comprobar el archivo de información de exploración (Browse Info) y el identificador de inicio.
Representación del EID (Entorno integrado de desarrollo)
El EID de Microsoft Visual C++ es un Entorno integrado de desarrollo que permite, de forma sencilla, crear, abrir, visualiza editar, guardar, compilar y depurar todas las aplicaciones C y C++. Al tratarse de un componente decisivo de Microsoft Development Studio, el entorno de C/C++ opera como una parte más dentro de la familia completa de lenguajes de Microsoft, incluyendo Visual Basic y Visual J++. La ventaja de esta colección de lenguajes de desarrollo radica en la facilidad de aprendizaje y uso que proporciona un conjunto compacto de herramientas y utilidades de desarrollo. ¡Por regla general, excepto para la sintaxis específica del lenguaje, una vez que se entienden la utilidades de un entorno (por ejemplo, Visual C++), automáticamente se tiene conocimiento de cómo utilizar las otras! La integración del lenguaje de Microsoft Development Studio, permite desarrollar y combinar fácilmente archivos fuentes de múltiples lenguajes en un único programa.
Al igual que todas las componentes del Development Studio, el EID de Visual C++ contiene opciones para personalizar el entorno de trabajo en función de las preferencias personales y ajustarse a los requerimientos hardware específicos para la aplicación. Muchas de las utilidades que se tratan en las siguientes secciones se presentan, de forma más detallada, en el Capitulo 3.
Inicio del EID (Entorno integrado de desarrollo) de Visual C++
El inicio del EID de Visual C++ es sencillo. Si se está utilizando un ratón, se pulsa dos veces sobre el icono de Visual C++, que aparece en el grupo Microsoft Visual C++. La Figura 2.1 muestra la pantalla inicial del EID (Entorno integrado de desarrollo) de Visual C++.
Acceso a la ayuda sensible al contexto
Se puede acceder fácilmente a la ayuda de cada utilidad del EID (Entorno integrado de desarrollo) de Visual C++, dado que toda la documentación del compilador se encuentra en línea. La utilización de este recurso tan valioso es tan sencillo como colocar el cursor sobre la utilidad en cuestión y pulsar la tecla F1.
No obstante, la ayuda sensible al contexto no está restringida a las utilidades del EID de Visual C++. Si se coloca el cursor sobre una construcción del lenguaje C/C++ y se pulsa la tecla F1, automáticamente la utilidad de ayuda muestra una descripción de la sintaxis de la construcción, una explicación de su uso y, a menudo, un ejemplo ejecutable para clarificarlo.
Este capitulo se ha diseñado para proporcionar una amplia visión de cada una de las opciones del EID de Visual C++. No hay que desesperarse por el número de utilidades y opciones disponibles.
Se pueden utilizar los parámetros por omisión de muchas de las posibilidades del EID de Visual C++, para hacer más fácil cl proceso de preparar y ejecutar una aplicación.
Al aumentar la experiencia e incrementar en complejidad los requerimientos de una aplicación, gradualmente se ganará experiencia en el manejo de las posibilidades más sofisticadas de este potente entorno. Durante la lectura de este capítulo, se puede coger un lápiz y marcar las características del EID de Visual C++ que parezcan más interesantes. (cuando surja la necesidad de utilizar una de estas utilidades, fácilmente se puede volver a hacer referencia a esta sección para obtener la explicación sobre cómo utilizar la correspondiente opción.
Funcionamiento de los menús
Antes de comenzar a explicar cada una de las utilidades de Visual C++, se van a examinar algunas características comunes a todos los elementos de menú. Por ejemplo, existen dos formas de acceder a los elementos de un menú. La aproximación más habitual consiste en colocar el puntero del ratón sobre la opción deseada y pulsar el botón izquierdo del ratón. La segunda opción consiste en utilizar la tecla abreviada que aparece subrayada. Por ejemplo, se puede acceder directamente, desde el teclado, al menú File (Archivo) pulsando al mismo tiempo la tecla ALT y la letra F.
A los elementos del menú se puede acceder utilizando la misma secuencia descrita anteriormente y, a menudo, existe un mecanismo adicional de seleccionarlos. Algunos elementos de menú se pueden activar directamente desde cualquier lugar del entorno integrado, utilizando sus combinaciones especificas de teclas abreviadas. Si un elemento de menú dispone de esta posibilidad, se muestra a la derecha del elemento en el menú, la combinación específica de teclas abreviadas para la opción determinada. Por ejemplo, la primera opción que aparece en el menú File (Archivo) es New (Nuevo)... Se puede seleccionar esta opción, de forma inmediata, pulsando simplemente CTRL-N, sin la necesidad de seleccionar primero el menú File (Archivo).
A continuación, se muestran algunos comentarios adicionales que conciernen al funcionamiento de los menús: primero, si un elemento de menú aparece desactivado, el entorno integrado está advirtiendo sobre el hecho de que esa opción particular no está disponible actualmente. Esto significa que el entorno integrado ha detectado que falta algún prerequisito necesario para que esta opción particular sea válida. Por ejemplo, la opción Save (Guardar) del menú File (Archivo) estará desactivada si la ventana de edición aparece vacía. La opción detecta que no se puede guardar algo que no existe e indica este hecho desactivando y colocando como no disponible la orden Save (Guardar).
Segundo, cualquier elemento de menú que aparezca seguido de tres puntos (...) indica una opción que, cuando se selecciona, muestra automáticamente un cuadro de diálogo o un submenú. Por ejemplo, la orden Open... (Abrir) del menú File (Archivo), cuando se selecciona, provoca que aparezca el cuadro de diálogo Open (Abrir).
Por último, indicar que se pueden activar algunos elementos de menú pulsando sobre sus botones asociados en las barras de herramientas, que aparecen debajo de la barra del menú principal.
Obsérvense la utilidades tan interesantes del EID (Entorno integrado de desarrollo) que, normalmente, están disponibles a través de una selección de menú.
Barras de herramientas acopladas o flotantes
Se puede hacer que la barra de herramientas estándar (situada justo debajo de la barra de título de Visual C++), o cualquier otra barra de herramientas aparezca acoplada o flotante. En modo acoplado, una barra de herramientas aparece fija a cualquiera de los cuatro bordes de la ventana de la aplicación. El tamaño de una barra de herramientas no se puede modificar cuando está acoplada.
En modo flotante, una barra de herramientas tiene una barra de título estrecha y puede aparecer en cualquier lugar de la pantalla. Una barra de herramientas flotante aparece siempre por encima del resto de ventanas. Se puede modificar el tamaño o la posición de una barra de herramienta flotante cuando se encuentra en modo flotante.
Para modificar una barra de herramientas acoplada en una barra de herramientas flotante:
· Se pulsa (recuérdese que no se debe soltar el botón izquierdo del ratón) sobre la barra de título o sobre un área donde no haya botones de la barra de herramientas.
· Se arrastra la barra de herramientas desde la zona de acople hacia la posición deseada.
Para acoplar una barra de herramientas flotante:
· Se arrastra la barra de herramientas hacia cualquiera de los cuatro bordes de la ventana de la aplicación.
Para situar una barra de herramientas flotante sobre una barra de herramientas acoplada:
· Se pulsa (recuérdese que no se debe soltar el botón izquierdo del ratón) sobre la barra de título o sobre un área donde no haya botones de la barra de herramientas.
· Manteniendo pulsada la tecla CTRL, se arrastra la barra de herramientas sobre cualquier área de acople dentro de la ventana de la aplicación.
El menú File (Archivo)
El menú File (Archivo) del EID de Visual C++ engloba el conjunto estándar de órdenes habituales de manipulación de archivos para la mayoría de aplicaciones de Windows. La Figura 2.2 muestra las opciones de órdenes disponibles en el menú File (Archivo).
New... (Nuevo...)
El elemento de menú New... (Nuevo...) abre una ventana nueva con un cuadro de diálogo de edición. Normalmente cualquier aplicación nueva comienza en este punto. El EID (Entorno integrado de desarrollo) automáticamente asigna un titulo y número a cada ventana que se abre. La numeración comienza por 1 y por tanto, el título de la primera ventana siempre será xxx1, el título de la segunda ventana xxx2 y así sucesivamente. xxx es una etiqueta que identifica el tipo de archivo con el que se está trabajando (código, proyecto, recurso, mapa de bits, binario, icono o cursor).
Si se tienen abiertas una serie de ventanas con títulos desde xxx1 hasta xxx6 y se decide cerrar la ventana con titulo xxx2, la siguiente vez que se seleccione la opción New..., no se volverá a utilizar este título (en este caso, xxx2). Windows asigna automáticamente el siguiente número más alto (en este ejemplo, xxx7).
La forma más rápida de abrir un nuevo cuadro de diálogo de edición es pulsar sobre el botón que se encuentra más a la izquierda de la barra de herramientas. Este botón presenta la imagen de un archivo. Se puede seleccionar directamente la opción New... (Nuevo) pulsando sobre este control.
Open... (Abrir..)
A diferencia de New..., que abre una ventana con un cuadro de diálogo de edición para un archivo que previamente no existe, el elemento de menú Open... (Abrir...) abre un cuadro de diálogo que solicita información acerca de un archivo previamente guardado. Este cuadro de diálogo es el cuadro de diálogo estándar Open File (Abrir Archivo), que muestra la unidad por omisión, vía de acceso y los parámetros para búsqueda del archivo, permitiendo seleccionar nuestros propios parámetros.
El cuadro de diálogo tiene una utilidad de autoguardado que automáticamente recuerda las preferencias del usuario y las utiliza, por omisión, cada vez que se utilice la orden Open... (Abrir...). El intento de abrir un archivo que ya está abierto provoca automáticamente una señal de alarma sonora y un mensaje de advertencia. ¡Esta útil notificación evita que se abran, de forma accidental, dos o más copias del mismo archivo, editando sólo uno de ellos y, a continuación, guardar la versión no actualizada!
El segundo botón a la izquierda de la barra de herramientas, que presenta la imagen de una carpeta abierta con una flecha, se puede utilizar para llamar directamente a la opción Open... (Abrir...).
Close (Cerrar)
El elemento de menú Close (Cerrar) se utiliza para cerrar un archivo abierto. Si se tienen múltiples archivos abiertos, esta orden cerrará la ventana activa o seleccionada. Se puede identificar la ventana activa, observando el borde de la ventana. Las ventanas activas o seleccionadas tienen el enfoque del ratón y teclado (esto significa que la ventana recibe actualmente entrada de ratón y teclado) y se muestran con los parámetros de configuración del color seleccionados para el sistema. Estos parámetros normalmente incluyen las barras de título con color y los bordes de la ventana oscuros. Normalmente, en las ventanas inactivas aparecen en gris las barras de titulo y los bordes de la ventana.
Si de una manera accidental se intenta cerrar un archivo que no ha sido guardado, no debe existir ninguna preocupación. El entorno integrado automáticamente protege al usuario de esta situación altamente peligrosa, avisándole que el archivo no se ha guardado anteriormente y preguntándole si desea guardar el archivo en ese momento.