" />

Visual C++ 6

Cree aplicaciones dinámicas con Visual C++

Producto descontinuado

Este producto ha sido descontinuado por su fabricante y puede que ya no esté disponible. Contacte con ABOX antes de hacer su pedido.

Hágase rápidamente con todas las características que necesite para desarrollar proyectos para Windows o basados en la red a nivel industrial. Puede hacerlo todo, desde las bases de un menú y entradas a través del ratón, a la programación de scripts ODBC, DAO y ADO. Gracias a los consejos de expertos programadores en Visual C++, Rick Leinecker y Tom Archer, encontrará todo lo que necesite para estar al día con los remas relacionados con el desarrollo y programación de elementos para Windows en Visual C++. La mayoría serán referencias detalladas y de fácil comprensión. Conozca los pros y los contras de la programación para Windows (desde los menús hasta el control de las interrupciones de los datos), aumente las capacidades de las bases de datos ODBC, las clases MFC, DAO, ADO y OLE DB, amplíe las aplicaciones con la carga dinámica de DLL y librerías de terceros, utilice MFC para crear controles ActiveX o ATL para crear pequeños controles para las aplicaciones, escriba aplicaciones dinámicas para Internet gracias a los trucos, conexiones aplicaciones CHtmlView y DHTML


Parte I. Principios básicos de Visual C++

1. Inicio

      Lo nuevo en Visual C++ 6.0
      El programa HelloWorld1
      El programa HelloWorld2
      El control ATL HelloWorld3
      Resumen

2. Uso de Visual Studio IDE

      Uso de IDE de Visual Studio
      Creación de su primer proyecto
      Personalización del IDE
            Teclas de método abreviado
            Añadir, editar y borrar métodos abreviados
      Uso de las barras de herramientas
            Mostrar y esconder barras de herramientas
            Personalización de las barras de herramientas
      Resumen

3. Depuración: Cuando sus aplicaciones no funcionan

      Lo que debe hacer todo depurador
      El depurador integrado de Visual Studio
            Preparación de la aplicación para su depuración
            El depurador al ejecutar una aplicación
            Ventanas de depuración
            Uso de breakpoints y ejecución paso a paso
            Uso de la información DataTips y de la ventana QuickWatch
            Uso de los cuadros de diálogo Threads y Exceptions
      Técnicas simples de depuración
            Usos de cuadros de mensaje para acelerar la depuración
            Resultado de la depuración
            Uso de afirmaciones
            Volcado de objetos
            Detección de agujeros de memoria y la clase CMemoryState
            Uso del rastreo MFC
      Depuración Just-In-Time
            Editar y continuar con la depuración
            Depuración de servicios Windows NT
      Resumen

4. Mejora del rendimiento de la aplicación

      Optimización del código
      Introducción al perfilado
            Principios del perfilado de aplicaciones
            Funcionamiento de Profiler
            Tipos de perfilado
            Configuración avanzada de Profiler
      Activar perfilado en Visual C++ 6.0
            Control del perfilado desde el entorno de desarrollo
            Selección de una función para el perfilado
            El programa PREP
            Perfilado con function timing
            Perfilado con function coverage
            Opciones de perfilado de línea
            Perfilado con line coverage
            Combinación de los resultados de Profiler
            Exportar datos desde Profiler
            Análisis de la información de Profiler
            Registros de información global
            Registros de información local
            Análisis de las estadísticas de Profiler
            Proceso del resultado de Profiler con Microsoft Excel
            Perfilado de librerías de enlace dinámico
            Perfilado de componentes y controles ActiveX
            Perfilado de código inline
            Perfilado de aplicaciones multithread
            Perfilado del rendimiento de la aplicación
      Uso de la herramienta CAP para eliminar llamadas duplicadas
            Perfilado de servicios Windows NT
      Resumen


Parte II. Fundamentos básicos de la programación Windows

5. Panorama de la programación MFC

      ¿Qué es MFC?
      Filosofía de diseño de MFC
      Ventajas de usar MFC
            Grandes cualidades
            Arquitectura extensible
      Diseño de jerarquía de MFC
            Mantenimiento de archivos
            Ventanas
            Gráficos
            Soporte para bases de datos
      ¿No usa MFC?
      Resumen

6. Los menús

      Creación y edición de menús
            Creación de menús
            Mensajes de menú en MFC
      Teclas de método abreviado
            Definición de métodos abreviados
                  Crear un recurso de tabla de métodos abreviados
                  Crear indicaciones de teclas de método abreviado en el menú
            Selección de las teclas adecuadas
      Menús contextuales
      Resumen

7. El ratón y el teclado

      Fundamentos de la introducción de datos y estado del sistema
      Ingreso de datos con el ratón
            Crear manipuladores de mensaje de ratón
            Conversión entre coordenadas de pantalla y ventana
      Creación de un programa MFC que maneje eventos de ratón
            Eventos de ratón no-cliente
            Cambio del cursor del ratón
      Creación de un programa de demostración que cambia los cursores del ratón
            Captura del ratón
            Limitar el movimiento del ratón
      Entradas de teclado
            El teclado físico
                  El teclado lógico Windows
                  Mensajes de caracteres imprimibles
            Repetición del foco de teclado
                  Creación y mantenimiento de cursores de teclado
                  Rectángulos de foco
                  Estado de selección y foco de teclado
      Resumen

8. Controles

      Un poco de historia
      Creación de controles
            Uso de la clase CButton
                  Creación de botones de comando
                  Manejo de mensajes de botón
                  Creación de botones de opción
                  Configuración e interrogación de botones de opción
                  Creación de casillas de verificación
                  Configuración e interrogación de casillas de verificación
            Uso de la clase CListBox
                  Crear cuadros de lista
                  Añadir y borrar elementos
                  Seleccionar y buscar elementos
                  Manejo de mensajes de botón
            Uso de la clase CEdit
                  Creación de controles de edición
                  Limitar un control CEdit
                  Añadir y borrar texto
                  Cortar, copiar, pegar y deshacer
                  Manipular mensajes CEdit
            Uso de la clase CStatic
                  Creación de controles CStatic
                  Manejo de mensajes CStatic
            Uso de la clase CScrollBar
                  Creación de controles
                  Control de CScrollBar
                  Manejo de mensajes CScrollBar
            Uso de la clase CComboBox
                  Crear un control CComboBox
                  Control de CComboBox
                  Manejo de mensajes CComboBox
      El programa Mini Editor
      Resumen

9. Diálogos modales y no modales

      Uso de Dialog Editor
            Plantillas de diálogo
            Creación de una nueva plantilla de diálogo
            Edición de una plantilla de diálogo
                  Ajustar las propiedades de una plantilla de diálogo
                  Adición de controles a una plantilla de diálogo
                  Cambio de tamaño y de disposición de múltiples controles
                  Establecer el orden de activación
            Comprobación del diálogo
      La clase CDialog
            Diálogos modales o diálogos no modales
                  Creación de un diálogo modal con CDialog
                  Creación de un diálogo no modal con CDialog
            Creación de clases derivadas de CDialog con ClassWizard
      Intercambio de información de diálogo y validación
            Creación de variables DDX
            DoDataExchange y UpdateData
      El programa de demostración AddressBook
            Edición de diálogo de demostración
            La clase CContact
            Omitir OnInitDialog
            Manejo del mensaje WM_DESTROY
            Presentación de los datos
            Manejo de notificaciones de botón
            Construcción y comprobación del programa de demostración
      Clases de controles derivadas en diálogos
            Creación de clases derivadas
                  Uso de ClassWizard para crear la clase
                  Implementación de las funciones necesarias
                  Uso de ClassWizard para crear la variable miembro
            Programa AddressBook: CAutoCompleteComboBox
                  Código fuente de CAutoCompleteComboBox
                  Adición de CAutoCompleteComboBox al programa de demostración
      Serialización
            Serializar cada clase
            Implementar la función virtual Serialize()
            Lectura de datos desde disco
            Grabación de datos al disco
            Añadir serialización al programa AddressBook
      Resumen

10. Páginas de propiedades y fichas de propiedades

      CPropertySheet y CPropertyPage
            Creación de recursos de páginas de propiedades
            Creación de la clase CPropertyPage
            Crear y mostrar una página CPropertySheet modal
            Crear y mostrar una página CPropertySheet no modal
      Página de propiedades modal de demostración
      Consejos y técnicas para páginas de propiedades y fichas de propiedades
            Eliminación de los botones normalizados
            Mover los botones normalizados
            Cambio del texto del botón
            Desactivación de fichas
                  Creación de una variable miembro para almacenar el índice de la ficha actual
                  Creación de una variable miembro para almacenar las fichas desactivadas actualmente
                  Añadir funciones miembro a fichas desactivadas específicas
                  Añadir funciones miembro para establecer el texto en las fichas desactivadas
                  Manejo de mensajes de notificación para fichas desactivadas
                  Añadir una función que verifique si una ficha está desactivada
                  Comprobación de la capacidad de desactivar fichas
            Reactivación de fichas de propiedades
                  Examen de la función SetEnabledText
                  Comprobación de la función EnableTab
            Establecer dinámicamente los textos de las fichas CPropertyPage
                  Uso de la función SetItem para establecer el texto de una ficha
                  Comprobación de la función SetItem para establecer el texto de la ficha
            Cambio de fuente de la ficha
            Uso de mnemónicos con fichas CPropertyPage
      Resumen

11. Entrada y salida de información

      La clase CString
            Creación de cadenas
            Acceso a cadenas de datos
            Comparación
            Extracción
            Búsquedas
      El programa de demostración StringDemo
      La clase CFile
      El programa FileDemo
      La clase CCompressedFile
      El programa CompressDemo
      Compresión de datos
            Huffman
            LZSS
            LZW
            El programa CompressDemo
                  Abrir un archivo
                  Grabar archivos
      La clase CSerial para comunicaciones serie
            Comunicaciones serie
      La clase CRegistry
            Valores del Registro
            Claves del Registro predefinidas
            Claves del Registro más utilizadas
                  Subclaves en HKEY_CLASSES_ROOT
                  Subclaves en HKEY_USERS
                  Subclaves en HKEY_CURRENT_USERS
      Uso del Portapapeles
      Resumen

12. Sonido

      Ejecución de sonidos grabados
            La clase CWave
            Ejecutar un archivo de sonido usando API de Windows
                  La función PlaySound()
                  La interfaz de control multimedia (MCI)
            Funciones de la clase CWave
      El programa de demostración WaveDemo
      Reproducción de archivos MIDI
            Concepto de MIDI
            La clase CMidi
            Funciones de la clase CMidi
      El programa MIDIDemo
      CD Audio
            La librería de clase CCDAudio
            La interfaz de control multimedia
            Funciones de la clase CCDAudio
      El programa CDPlayer
      Resumen


Parte III. Arquitectura

13. Documentos, vistas y SDI

      Diseño de documentos y vistas
      La clase CDocument
            Declaración de una clase documento en la aplicación
            Funciones miembro de CDocument
            Los documentos y el proceso de mensajes
            Sobrescritura de funciones virtuales de documento
            El trabajo con datos de documento complejos
            Beneficios de CCmdTarget y CDocItem
      La importancia de la función InitInstance para los documentos
            Forma en que las aplicaciones gestionan los documentos y las vistas
            Enfoque de la clase CSingleDocTemplate
            Breve trabajo con ventanas de marco
            Recursos de la plantilla del documento
            Cómo afecta el recurso de cadena a la plantilla del documento
            División del recurso de cadena
            Un vistazo a los recursos de vista del stock
            El ciclo de vida de la plantilla del documento
            El trabajo avanzado con plantillas
            El trabajo con varias plantillas
            Destrucción de documentos añadidos con la función miembro AddDocTemplate()
      Empleo de la clase CView
            Declaración de una clase View
            Análisis de las funciones miembro CView
            El trabajo con vistas y mensajes
            Variantes derivadas de MFC de la clase CView
            Evaluación de la vista CForm frente a las aplicaciones basadas en cuadros de diálogo
            Vuelta a las ventanas del marco
            El papel de AfxGetMainWnd()
      La aplicación SDI HexView
      Resumen

14. Diseño de una aplicación MDI

      Revisión de la clase CDocument
      Gestión de combinaciones más complejas de documentos, vistas y ventanas del marco
            El trabajo con múltiples tipos de documento
            Empleo de múltiples vistas con documentos
            La clase CMDIFrameWnd
            La clase CMDIChildWnd
            La clase CMultiDocTemplate
            Revisión del empleo de clases CDocument
            Otras consideraciones sobre las aplicaciones MDI
      El programa PaintObj
      Las ventanas de división
            Diferencia entre las ventanas divisibles
            Lo más específico de la clase CSplitterWnd
            Más sobre las divisiones dinámicas
            Empleo de vistas diferentes en paneles dinámicos
            Empleo del objeto CRuntimeClass
            Empleo de divisiones con vistas asociadas a más de un documento
            Empleo de divisiones estáticas
            Creación de una división estática
            Las barras de desplazamiento compartidas
            El tamaño real y el tamaño ideal
            El rendimiento con divisiones
      El programa Dynsplit
      Subclasificación de las ventanas secundarias
            Empleo de las ventanas de subclase de MFC
            Alternativas para la arquitectura documento/vista
      Resumen

15. Impresión y vista preliminar

      Soporte de impresora de la API de Windows
            Información de la impresora
            La importancia de las características del texto
      El programa Portland
      La impresión con MFC
            El papel del programador y el del marco de trabajo en la impresión
            La secuencia de impresión de MFC
            Más sobre la impresión predeterminada de MFC
            El protocolo de impresión
            Sobrescritura de las funciones de la clase vista y paginación
            La clase CPrintInfo
            Páginas de impresora frente a páginas del documento
            Instalación de la paginación
            Las funciones de ayuda
            Paginación en tiempo de impresión
            Revisión de la impresión de encabezados y pies de página
            Asignación de recursos GDI para imprimir
            Ampliación de la imagen impresa
      La arquitectura Vista preliminar
            El proceso de la vista preliminar
            Modificación de la vista preliminar
            Mejora de la vista preliminar de la aplicación
            La clase CPrintDialog
      El programa HexViewMDI
      Resumen

16. Barras de estado y de herramientas

      Creación y empleo de barras de estado
            Creación de una barra de estado
            Personalización de las barras de estado
                  Creación de barras de estado personalizadas
                  Control de la barra de estado
      Creación y control de barras de herramientas
            Barras de control MFC
            Creación e inicio de una barra de herramientas
                  Anclar y flotar
                  Barras de herramientas visibles e invisibles
                  Cómo agregar información de herramientas y texto flotante
                  Cómo agregar controles sin botón
                  Actualización de los controles sin botón
      Empleo del control ReBar
      Resumen

17. Controles Tree View y List View

      CTreeCtrl
            Fundamentos del control Tree View
            CTreeCtrol
                  Crear CTreeCtrl
                  Insertar elementos en un CTreeCtrl
                  Editar etiquetas
                  Menús de contexto
            Demostración de CTreeCtrl
                  Crear el diálogo de demostración
                  Crear una clase derivada del CTreeCtrl
                  Añadir un segundo diálogo para recuperar el texto del elemento
                  Añadir el menú contexto
                  Evitar la duplicación de hermanos
                  Añadir la capacidad de editar etiquetas del elemento
      CListCtrl
            Fundamentos del List
                  CListCtrl
                  Crear CListCtrl
                  Configurar una Image List del control List View
                  Configurar y cambiar un estilo de View
                  Añadir columnas a un CListCtrl
                  Ajustar el tamaño de las columnas
                  Insertar elementos en un CListCtrl
      Resumen


Parte IV. Programación de bases de datos

18. ODBC

      Definiciones de ODBC y terminología de bases de datos
      ODBC. La necesidad de un estándar
            La ODBC estándar
            Niveles de conformidad de las API de la ODBC
            Niveles de conformidad de ODBC SQL
      Aplicación ODBC
            Configurar ODBC
            Conectar un origen de datos
            Consulta de los datos y del origen de datos
            Preparar y ejecutar solicitudes SQL
            Recuperar datos
            Desconectar desde un origen de datos
            Utilizar ODBC para traer datos
            Añadir soporte ODBC al proyecto Visual C + +
            Modificar el diálogo OBDCDemo
            Añadir la inicialización y el código de base de datos
      Usar ODBC para consultar dinámicamente a un origen de datos
            Mirar la declaración de clase CODBCDynamic
            Cómo trabaja la clase CODBCDynamic
                  Conectar el DSN
                  Ejecutar SQL y traer datos
            Usar la clase CODBCDynamic
      Resumen

19. Clases MFC de Bases de Datos

      CDatabase
      CRecordset
            Crear un conjunto de registros
            Abrir un conjunto de registros
            Escribir y leer datos mediante RFX
            Filtrado de registros
            Clasificación de registros devueltos con un campo de registros
            Moverse a través del conjunto de resultados
            Salvar registros
            Eliminar registros
      Utilizar las clases MFC de bases de datos
            Añadir soporte a las clases MFC de bases de datos
            Crear una UI para la demostración
            Añadir una clase de utilidad para encapsular los datos de usuario
            Crear una clase CRecordset para la tabla UserMaster
            Modificar el archivo de encabezamiento del diálogo
            Modificar el archivo de instalación del diálogo
      Conjuntos de registros y consultas parametrizados
            Crear la UI para la demostración
            Crear el conjunto de registros UserMaster
            Modificar la clase Crecordset para aceptar parámetros
            Añadir capacidad de búsqueda a la aplicación
            Generar la aplicación
            Crear consultas parametrizadas
            La demostración de base de datos
            Crear el campo de registro de los permisos
      Resumen

20. Programación de base de datos DAO

      Visión global del DAO
            Historia del DAO
                  Jet 1.0
                  Jet 1.1
                  Jet 2.0
                  Jet 2.5
                  Jet 3.0
                  Jet 3.5
            La jerarquía DAO
                  El objeto DBEngine
                  El objeto de la colección Workspace
                  El objeto Workspace
                  La colección Databases
                  El objeto Database
                  La colección Recordsets
                  El objeto Recordset
            Las cantidad de (inter)faces DAO
                  Interfaces DAO de Automation
                  Las clases dbDAO de C++
                  Clases MFC DAO
      Utilizar las clases MFC de DAO
            CDaoDatabse
            CDWorkspace
            CDaoRecordset
                  Construir un objeto CDaoRecordset
                  Abrir un conjunto de registros
                  Escribir y leer datos utilizando DFX
                  Filtrar datos
                  Ordenar archivos devueltos con un conjunto de registros
                  Moverse a través de un conjunto de resultados
                  Salvar registros
                  Eliminar registros
            Crear un proyecto de demostración
                  Editar el diálogo para la aplicación de demostración
                        Añadir una clase utilidad para encapsular los datos de usuario
                  Crear una clase CDaoRecordset para la tabla UserMaster
                  Modificar el archivo encabezamiento de diálogo
                  Modificar el archivo de instalación de diálogo
                  Probar la aplicación UserMaintenance
      Resumen
Parte V. Aplicaciones extendidas

21. Trabajar con DLL

      Visión general de DLL
            Bibliotecas estáticas y dinámicas
            Cargar DLL
      DLL regulares de Visual C++
            Entender las DLL regulares internas
            Cargar dinámicamente las DLL
            Ejemplos de cuándo cargar dinámicamente una DLL
                  Programar costuras de función
                  Escribir aplicaciones de múltiples idiomas
                  Cuando el archivo de encabezamiento o la biblioteca de importación no están disponibles
                  Recuperar recursos de un archivo binario
            Ganchos de Windows
                  La función SetWindowsHookEx()
                  La función UnhookWindowsHookEx()
                  La función CallNextHook()
                  Escribir el gancho de teclado DLL
                  Generar una prueba para el gancho de teclado DLL
                  Probar el gancho de teclado de DLL
            Objetos general C++ con DLL
                  Operador placement new
                  La demostración GlobalDllObjetcs
                  Aplicación de prueba GlobalDllObjectsClient
                  Probar las DLL GolbalDllObjetcs
      DLL Extensión MFC
            Entender el interior de las DLL extensión MFC
            Exportar clases vía DLL extensión MFC
            Más cosas acerca de AFX_EXT_CLASS
            Buscar DLL extensión MFC anidadas
            Exportar recursos
            Escribir una demostración que encapsule documentos y vistas en una DLL
                  Crear una DLL extensión MFC para una imagen de documento y vista
                  Codificar la funcionalidad de vista ImageViewr´s
                  Encapsular el documento de imagen y vista en una clase
                  Generar una prueba para el documento de imagen y la vista deDLL
      Resumen

22. Técnicas para añadir imágenes a los programas

      Bibliotecas de terceros
      La biblioteca ImageObject
      Carga de imágenes
      Presentación de las imágenes
      El programa Display
      Técnicas para escalar, recortar y cambiar la profundidad de color
      Creación de una imagen desde un contexto de dispositivo
      Creación de una imagen desde el portapapeles
      Salvaguarda de imágenes
      Tratamiento de imágenes
      El programa ProcessImage
      Resumen


Parte VI. Programación de modelado de objetos de un componente (COM)

23. Introducción a los controles y a su diseño

      Los orígenes y usos de ActiveX
      Comprender las distintas técnicas de ActiveX
            Servidores de automatización
            Controladores de automatización
            Controles ActiveX
            Objetos COM
            Documentos ActiveX
            Contenedores ActiveX
      Qué puede hacer ActiveX
      Determinar qué tipo de componente ActiveX se necesita
            Uso de servidores de automatización y controladores
            Uso de controles ActiveX
            Objetos COM
            Uso de Microsoft Foundation Class para crear componentes ActiveX
            Uso de ActiveX Template Library para crear componentes ActiveX
            Uso de BaseControl para crear componentes ActiveX
            Creación de su propio marco de trabajo
      Arquitectura de los componentes de ActiveX
            Servidores de automatización ActiveX
                  Tipos de servidores de automatización
                  Ejecución en-proceso
                  Ejecución local
                  Ejecución remota
            Controles ActiveX
      Herramientas necesarias para construir componentes ActiveX
            Compilador MIDL
            Mktyplib
            GUIGEN
            RegEdit
            Servidor de registro
            Ole2View
            Agregar herramientas al entorno de desarrollo de Visual C++
      Uso de MFC para crear un control ActiveX
            Creación del proyecto de control básico
            Registro del control
            Métodos de creación
            Propiedades
                  Creación de propiedades normales definidas por el usuario
                  Creación de propiedades parametrizadas definidas por el usuario
                  Creación de propiedades de almacenamiento
                  Uso de las propiedades de ambiente
            Creación de hojas de propiedades
            Agregar sucesos
            Persistencia
            Dibujo del control
            Dibujos estándar
      Resumen

24. Librería Active Template

      Un breve vistazo a ATL
      Creación de un control ATL
      Agregar un objeto COM al proyecto
      Modificar el archivo CdoublePend
      Implementación de las funciones de la interfaz
      Uso del control desde C++
      Tipos de datos
            Conversiones a y desde BSTR
            Comparar BSTR
            Visualización del contenido de una cadena BSTR desde un programa de análisis
      Incluir un control ActiveX en una página Web
      Resumen


Parte VII. Internet y la programación HTML

25. Programación en Internet

      La clase CInternetSession
      La clase CFtpConnection
            Recuperar un archivo de un servidor FTP
            Enviar un archivo a un servidor FTP
            Otras funciones FTP
            La clase CInternetFile
            Clase CFtpFileFind
      El programa FTP
      Conexiones y la clase CSocket
            Creación de conexiones
            Establecer una conexión
            Escuchar a través de una conexión
      Escritura y lectura de datos
      Programa Sockets
      Programa SendEmail
      Programa AutoDialer
      Resumen

26. Clase CHtmlView

      Creación de un proyecto CHtmlView
      Conversión de proyectos para utilizar CHtmlView
      Navegar con CHtmlView
      El programa SimpleBrowser
      Programa MultiBrowser
      Uso directo del control Web Browser
      Escribir un explorador que registre su navegación
      Escribir un explorador que bloquee sitios Web
      Resumen

27. HTML dinámico

      Fundamentos de HTML
      Cascada de hojas de estilo
            Hoja de estilos global
            Sintaxis de la hoja de estilo

Contacte con ABOX para consultar precios

ACCIONES
Imprimir página
Precios