Red de conocimiento informático - Problemas con los teléfonos móviles - Índice de tutoriales de programación de Windows

Índice de tutoriales de programación de Windows

Descripción general del Capítulo 1 1

1.1 Historial de desarrollo de Windows 1

1.2 Naturaleza básica y uso del sistema operativo Windows 3

1.3 Básico Características de API y su historial de desarrollo 5

1.4 Herramientas de programación y descripción general de su desarrollo 6

1.5 Entorno de desarrollo integrado 7

1.6 Comparación de programas C y programas Windows 7

1.7 Tres componentes básicos del programa Windows HelloMsg.c 8

1.7.1 Declaración #include y archivos de inclusión 8

1.7.2 Programa Windows Punto de entrada de HelloMsg.c 8

1.7.3 Función MessageBox 10

1.8 Introducción a la codificación de caracteres y Unicode 11

1.8.1 Una breve historia del desarrollo de los caracteres establecer codificación 12

1.8.2 Juego de caracteres de doble byte 13

1.8.3 Juego de caracteres Unicode 13

1.9 Tipo de datos de caracteres char y tipo de datos de caracteres anchos wchar14

1.9.1 Determinación de tipos de datos básicos en el sistema operativo 14

1.9.2 Tipo de datos de carácter de un solo byte 14

1.9.3 Carácter ancho tipo de datos 15

1.9.4 Función de biblioteca de caracteres amplios 16

1.9.5 Método de unificación de la versión Unicode y la versión ASCII de la función de cadena...17

1.9.6TCHAR La función del archivo de encabezado .h 17

1.9.7 La introducción del identificador _UNICODE en el comando de compilación 17

1.9.8 Windows admite caracteres anchos 18

1.10 El principio del programa de aplicación para implementar codificación mixta de Unicode y ASCII 19

1.10.1WINNT.h es el archivo de encabezado que admite Unicode 19

1.10.2 La función MessageBox en sistemas de 32 bits 20

p>

1.10.3 Función de procesamiento de cadenas en Windows 21

1.10.4 Función sprintf en Windows 22

Ejercicio 124

Capítulo 2 Método de direccionamiento del sistema operativo Windows y administración de memoria 25

2.1 Chip de Windows 26

2.2 Método de direccionamiento segmentado de Windows 26

2.2.modo real de 116 bits 26

2.2.modo de protección de 216 bits 27

2.2.modo de protección de 332 bits 29

2.2.4 Defectos de métodos de direccionamiento segmentado y sus métodos de eliminación 31

Modo de protección de paginación de 2.332 bits y su método de direccionamiento 31

2.4 Conceptos de multitarea preventiva, multitarea no preventiva, procesos y subprocesos 33

2.4.1 Conceptos de procesos e hilos 33

2.4.2 Multitarea preventiva 34

2.4.3 Multitarea no preventiva 34

2.4 El principio de funcionamiento de la multitarea preventiva y el subproceso múltiple de 432 bits 36

2.5 Método de entrada de mensajes de aplicaciones de Windows de 32 bits 37

2.5.1 Desarrollo de subprocesos múltiples 37

2.5.Windows de 232 bits utiliza múltiples colas de entrada 37

2.6 División del espacio de memoria virtual en Windows de 32 bits 38

2.77 Gestión de la memoria virtual en Windows de 32 bits bit Windows 40

2.7.1 Páginas de memoria y archivos de paginación 40

2.7.2 Explicación del espacio de direcciones 40

2.7. Windows de 32 bits: reserva y delegado 41

2.7.4 Eventos de excepción y sus métodos de manejo 43

2.7.5 Uso de VirtualQuery() 43

2.7 .6 Función para cambiar el indicador de protección de la página VirtualProtect()45

p>

2.7.7 Función de liberación de memoria VirtualFree() 46

Ejercicio 247

Capítulo 3 Bases técnicas para el desarrollo de aplicaciones Windows 49

3.1 Estructura y compilación de programas de aplicación 49

3.1.1 Comparación de la estructura de aplicaciones de Windows y la estructura de programas en lenguaje C 49

3.1.2 Compilación de aplicaciones de Windows y compilación de programas en lenguaje C Comparación 50

3.1.3 Seis archivos básicos necesarios para las aplicaciones compiladas de Windows 51

3.2 Interfaz de diseño de aplicaciones de Windows 57

3.3 Convenciones de nomenclatura húngara de identificadores 58

3.4 Diseño de programa controlado por eventos 59

3.5 Funciones de biblioteca de vínculos dinámicos 61

3.6 Especificaciones de llamada PASCAL y especificaciones de llamada WINAPI 62

3.7 Identificadores y nombres en clave 63

3.8 El principio de funcionamiento de las aplicaciones de Windows 63

3.9 El papel de la clase de ventana y su uso preliminar 65

Ejercicio 366

Capítulo 4 Análisis del programa de aplicación 69

4.1Aplicación HELLOWIN.C 69

4.2Cuatro parámetros de la función WinMain 72

4.3 Estructura de clases de ventana WNDCLASS73

4.4 Introducción a varias cláusulas de la estructura de clases de ventanas 74

4.5 Introducción a los identificadores relacionados con ventanas 76

4.6 Varios tipos relacionados con la estructura de ventanas 76

4.7 Introducción al nombre del código 77

4.8 Llamada a función 77

4.9 Registrar clase de ventana 78

4.10 Crear ventana 78

4.11 Ventana de visualización 79

4.12 Bucle de mensajes básico 80

4.12.1Función GetMessage(&msg, NULL, 0, 0) 80

4.12. Funciones DispatchMessage(&msg) 80

4.12.3Estructura MSG y su explicación 81

4.13 Función de ventana 82

Ejercicio 484

Capítulo 5 Clases de ventanas en sistemas operativos Windows 85

5.1 Descripción general de las clases de ventanas en Windows 85

5.1.1 Clases de ventanas globales del sistema 86

5.1.2 Específicas de la aplicación clase de ventana 86

5.1.3 Clase de ventana global de aplicación 87

5.2 Introducción a varias estructuras de clases de ventana 87

5.2.1Windows 95 Estructura de clases de ventana extendida en 87

5.2.2 Explicación complementaria de los términos de clase de ventana 88

5.2.3 Clase de ventana en Windows NT 89

5.3 Varias funciones relacionadas con la clase de ventana 90

5.3.1Función LoadIcon 90

5.3.2Función LoadImage 91

5.3.3Función LoadCursor 92

5.3.4Función CreateSolidBrush 93

5.4 Estilo de ventana clase 95

5.5 Varias cuestiones que vale la pena señalar en el diseño 97

Ejercicio 598

Capítulo 6 Salida 101

6.1 Dibujo y actualización del área de cliente 102

6.1.1Mensaje WM_PAINT 102

6.1.2 Rectángulo válido y rectángulo no válido 103

6.2 Introducción a GDI 104

6.2.1 Tabla de descripción del dispositivo 104

6.2.2 Método para obtener el nombre del código hDC 105

6.3 Función TextOut 109

6.4 Configuración del área de redibujado 110

6.5 Fuente del sistema 111

6.5.1 Almacenamiento de información de fuente 112

6.5 .2 usar cinco

Cada parámetro representa el tamaño de fuente 112

6.5.3 Formato de texto 113

6.6 Tabla de información de componentes visuales en el sistema Windows 115

6.7 Ejemplo de visualización de fuentes SYSMETS1 C116.

6.7.1 Análisis de la función de ventana SYSMETS1.C 119

6.7.2 Problemas con el programa SYSMETS1.C 120

6.8 Uso de barras de desplazamiento 120

6.8.1 El rango y dirección de la barra de desplazamiento 121

6.8.2 El mensaje de la barra de desplazamiento 122

6.8.3 Agregar la función de desplazamiento a SYSMETS1.C 124

6.8.4 Método de actualización del área del cliente después del mensaje WM_VSCROLL 128

6.9 Creación de un mejor desplazamiento 129

6.9 Aplicación de la función de barra de desplazamiento de 132 bits 129.

6.9.2 Cálculo del rango de rodadura 131

6.9.3 Nuevo SYSMETS - SYSMETS3.C132

Ejercicio 6138

Capítulo 7 Gráficos Conceptos básicos de programación 141

7.1 Introducción 141

7.1.1Funciones GDI y su clasificación 142

7.1.2Gráficos básicos dibujados por GDI 143

7.1.3 Otras cuestiones en la programación de gráficos 144

7.2 Tabla de descripción de dispositivos 145

7.2.1 Método para obtener el código de la tabla de descripción de dispositivos 145

7.2 .2 Métodos de obtener información en la tabla de descripción de dispositivos 146

7.2.3 Guardar la tabla de descripción de dispositivos 147

7.2.4 Estructura de la tabla de descripción de dispositivos 148

7.2 .5Programa DEVCAPS1 149

7.2.6 Número de píxeles en cada unidad de medida - resolución 152

7.2.7 Color 153

7.3 Función de dibujo lineal y pincel 155

7.3.1 Función de procesamiento de píxeles 155

7.3.2 Función de dibujo de líneas 156

7.3.3 Programa de dibujo de curva sinusoidal SINEWAVE158

7.3.4 La relación entre la función de dibujo lineal y la función de dibujo 159

7.3.5 Problema de desviación de píxeles 160

7.3.6 Programa de dibujo LINEDEMO 163

7.3 .7 Pincel 164

7.3.8 Modo de fondo, color de fondo y su procesamiento 168

7.3.9 "Operación bit booleana" y modo de dibujo lineal 169

7.4 Dibujo 171

7.4.1 Función gráfica 171

7.4.2 Rellenar gráficos - pincel 171

7.4.3 Creación de pincel, seleccionar y eliminar 172

Método de mapeo 7.5GDI 174

7.5.1 Descripción general del método de mapeo 174

7.5.2 Coordenadas del dispositivo y coordenadas lógicas 176

Ejercicio 7177

Capítulo 8 Conceptos básicos de la programación del teclado 179

8.1 Introducción a la entrada del teclado 179

8.1.1 Enfoque de la entrada del teclado 180

p>

8.1.2 Cola de mensajes del sistema y cola de mensajes de la aplicación 181

8.2 Botones 181

8.2.1 Conceptos básicos 181

8.2.2 Cuatro mensajes clave 182

8.2.3 Mensajes clave del sistema y mensajes clave que no son del sistema 182

8.2.4 Códigos de clave virtuales 183

8.2.5 Mensajes clave El parámetro lParam187

8.2.6 Cómo utilizar la función GetKeyState para entender el estado de la clave 188

8.2.7 Mensaje clave y su uso 189

8.3 Mensaje de caracteres y su procesamiento 192

8.3.1 Descripción general 192

8.3.2 Mensajes de cuatro caracteres 193

8.3.3 Secuencia de procesamiento de mensajes clave y mensajes de caracteres 194 p>

8.3.4 Teclas de caracteres de control y

Su procesamiento 195

8.3.5 Mensaje WM_DEADCHAR 196

8.4 Programa de visualización para mostrar mensajes de teclado y mensajes de caracteres KEYVIEW1197

8.5 Fuentes 202

8.5.1 Tres fuentes soportadas por Windows 202

8.5.2 Fuentes predeterminadas en Windows 203

8.5.3 Programa para mostrar fuentes STOKFONT204

Ejercicio 8208

p>

Capítulo 9 Conceptos básicos de la programación del mouse 211

9.1 Descripción general 211

9.1.1 Aplicación de la función GetSystemMetrics 211

9.1.2 Cursor del mouse predefinido 212

9.1.3 La diferencia entre mensajes del mouse y mensajes del teclado 212

9.1.4 Mensajes del mouse en el área de visualización y sus métodos de procesamiento 212

9.1 .5 Procesamiento de mensajes del mouse en otras situaciones 214

9.1.6 Ejemplos de procesamiento de mensajes del mouse 214

9.1.7 Aplicación del programa CONNECT 216

9.2 Botones y su procesamiento 217

9.2.1 Procesamiento de la tecla Shift Ctrl 217

9.2.2 Cómo proporcionar un botón derecho para un mouse de un solo clic 218

9.2.3 Cómo utilizar la función GetKeyState para comprender el estado del botón del mouse 219

9.2.4 Haga doble clic en el botón del mouse y su procesamiento 219

9.3 Área sin visualización del mouse mensajes y su procesamiento 220

9.3 .1 Mensajes del mouse en áreas sin visualización 220

9.3.2 Mensajes de prueba de impacto en áreas sin visualización 221

9.3. 3 Generar mensajes a partir de los mensajes 222

9.4 Probador de visitas 223 en el área de visualización

9.4.1 Probador de visitas CHECKER1.C223

9.4.2 Usar el teclado para simular el mouse 225

9.4.3 En el programa 226 después de agregar la interfaz de teclado a CHECKER1

9.5 Concepto básico de subventana 231

9.5.1 Implementando CHECKER programa usando la subventana - CHECKER3.C231

9.5.2 Agregar interfaz de teclado a CHECKER3 - CHECKER4.C237

Ejercicio 9244

Capítulo 10 Clases de ventana predefinidas y controles de subventana 247

10.1 Conceptos básicos 247

10.1.1 ¿Qué es un control de ventana secundaria? 247

10.1.2 Cómo crear un control de ventana secundaria 248

10.1.3 Funcionamiento del control 250

10.1.4 Elementos de control en el sistema Windows 251

10.2 Rutina de elementos de control de botones BTNLOOK.C252

10.2.1 Aplicación de la función CreateWindow 256

10.2.2 El botón de clase de ventana predefinido256 del elemento de control del botón

10.2.3 La etiqueta de nombre del elemento de control del botón257

10.2.4 Estilo del elemento de control del botón 257

10.2.5 Tamaño y posición de los elementos de control del botón 257

10.2.6 Otros parámetros de CreateWindow 257

10.3 Transmisión de mensajes entre la ventana secundaria y la ventana principal 258

10.3.1 La ventana secundaria envía un mensaje de comando a la ventana principal 258

10.3.2 La ventana principal envía un mensaje a ventana secundaria 259

10.4 Botón 260

10.4.1 Clasificación de botones 260

10.4.2 Bloques de agrupación 264

10.4.3 Cómo cambiar el texto en el botón 264

10.4.4 Visibilidad y activación de botones 264

10.4.5 Botones y foco de entrada 265

10.5 Color y configuración de controles de botones 266

1

0.5.1 Aplicación del mensaje WM_CTLCOLORBTN 268

10.5.2 Programa OWNDRAW.C269 para que el propietario dibuje el patrón de la superficie del botón por sí mismo

10.6 Elemento de control estático 274

10.6.1 Características de clases de ventanas estáticas predefinidas 274

10.6.2 Estilo de ventana de elementos de control estáticos 275

10.6.3 Escritura de "texto" en elementos de control estáticos 275

10.7 Elemento de control de barra de desplazamiento 276

10.7.1 Clase de ventana de barra de desplazamiento 276

10.7.2 Rutina de elemento de control de barra de desplazamiento COLORS1.C277

10.7 .3 Habilidades de diseño del programa COLORS1 y descripciones de funciones relacionadas 283

10.8 Edición de elementos de control 290

10.8.1 Rutinas para editar elementos de control POPPAD1.C290

10.8 .2 Edición de clase de ventana y estilo de ventana del elemento de control de edición ES_291

10.8.3 Código de notificación generado por el elemento de control de edición 292

10.8.4 Uso del elemento de control de edición 293

10.8.5 Enviar mensaje al control de edición 293

10.9 Control de cuadro de lista 294

10.9.1 Clase de ventana de cuadro de lista predefinida listbox294

10.9.2 Estilo del cuadro de lista 295

10.9.3 Identificador de función del cuadro de lista LB_296

10.9.4 Usar identificadores de función para agregar y eliminar elementos en el cuadro de lista 296

10.9.5 Aplicar identificadores de funciones para seleccionar, buscar y obtener elementos en el cuadro de lista 298

10.9.6 Recibir códigos de notificación del cuadro de lista 299

Ejercicio 10300

Capítulo 11 Uso del cuadro de diálogo 303

11.1 Descripción general 303

11.1.1 ¿Qué es el cuadro de diálogo 303?

11.1.2 Clasificación del cuadro de diálogo cuadros 304

11.1.3 Funciones de diálogo 305

11.1.4 Usar controles en cuadros de diálogo 306

11.1.5 Diálogo del modo de diseño Pasos en el cuadro 306

11.2 Análisis de ejemplo del cuadro de diálogo modal 307

11.2.1 La rutina de cuadro de diálogo modal más simple About1.C307

11.2.2 Diseño de plantillas y control de cuadros de diálogo elementos 314

11.2.3 Rutina ABOUT2.C318 de cuadros de diálogo en modo más complejo

11.2.4 Uso de elementos de control en funciones de cuadros de diálogo 325

11.2. 5 métodos para evitar el uso de variables globales 330

11.2.6 Aplicación de la tecla Tab y la tecla de movimiento del cursor en la transferencia del foco de entrada del elemento de control 331

11.2. 7 Dibujar imágenes en el cuadro de diálogo 333.

11.2.8 Usar otras funciones para el cuadro de diálogo 334

11.3 Análisis de cuadros de diálogo no modal 334

11.3.1 Comparación de diálogo modal y no modal boxes 335

11.3.2 Rutina de cuadro de diálogo no modal COLORS2.C337

Ejercicio 11343

Capítulo 12 Recursos de Windows en 345

12.1 Recurso archivos de descripción y archivos de definición de módulos 345

12.1.1 Conceptos básicos de "recursos" y "plantillas" 345

12.1 .2 Archivo de descripción de recursos 346

12.1 .3 Archivo de definición de módulo 347

12.2 Icono 349

12.2.1 Descripción general 349

12.2 .2 Métodos básicos para desarrollar la aplicación ICONDEMO con Developer Studio 350

12.2.3 Aplicación de íconos grandes e íconos pequeños 355

12.2.4 Interpretación de archivos ICONDEMO.RC y RESOURCE.H 356

12.2.5LoadIcon devuelve código de ícono 356

1

2.2.6 Usar íconos en aplicaciones 357

12.3 Usar cursores personalizados en programas 358

12.3.1 Configurar cursores en clases de ventana 358

12.3 .2 Usar SetClassLong para configurar el cursor en la ventana secundaria 358

12.3.3 Utilice SetCursor para cambiar el cursor en la ventana 359

12.4 Recursos de cadena y sus aplicaciones 359

12.4.1 ¿Qué es un recurso de cadena 359

12.4.2 Segmentos de programa que utilizan recursos de cadena 360

12.5 Menú 361

12.5.1 Concepto de menú 361

12.5.2 Código de menú, ID de elemento de menú e ID de menú 362

12.5.3 Referencia al menú 362 en el programa

12.5.4 Mensaje de ventana relacionado con el menú 363

12.5.5 Rutina de visualización del menú MENUDEMO.C366

12.5.6 Otro método para crear menú 373

12.5.7 En el cliente Un menú desplegable menú que se puede iniciar en cualquier lugar dentro del área 374

12.5.8 Menú del sistema 378

12.5.9 Algunas funciones que cambian el menú 379

12.5. Otras funciones para procesar menús 379

12.6 Teclas del acelerador 381

12.6.1 Usar las teclas del acelerador para implementar funciones de elementos del menú 381

12.6.2 Disposición de las teclas del acelerador Varias reglas 382

12.6.3 Pasos de implementación de las teclas de aceleración 382

12.6.4 Plantilla de tabla de claves de aceleración 382

12.6.5 Usar Developer Studio para generar aceleración Plantilla de tabla de claves 385

12.6.6 Cargando la tabla de claves de acelerador en el programa 385

12.6.7 Agregar procesamiento de claves de acelerador al bucle de mensajes 386

12.6 .8 La función de ventana recibe mensajes de ventana de las teclas aceleradoras 387

12.7 Aplicación de menús y teclas aceleradoras en aplicaciones - Análisis de ejemplo de POPPAD2 388

12.7.1 Rutinas POPPAD2 388

p >

12.7.2 Carga de la tabla del acelerador 395

12.7.3Explicación del caso WM_INITMENUPOPUP rama de procesamiento de mensajes 396

Ejercicio 12397

Apéndice A Índice VC++ de referencia 399

Referencia 403