Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Arquitectura del Sistema Windows
© Dr. José Antonio Garrido Natarén 2016
2
Arquitectura del Sistema Windows
Los 3 Componentes (USER - KERNEL – GDI) La creación de una ventana El lazo de mensajes La función principal de una ventana (Windows Procedure) Los mensajes WM_CREATE, WM_PAINT & WM_DESTROY La gestión de los recursos máquina (ratón, teclado, pantalla) El estilo de una ventana Las áreas cliente y no cliente Programa de un documento (SDI) & Programa de múltiples Documentos (MDI) Tipos de ventanas (main, Child, Overlapped, Popup) Los Mensajes La evolución SDK a MFC
3
Arquitectura del Sistema Windows Los 3 Componentes del Sistema Windows
USER Kernel GDI
4
Arquitectura del Sistema Windows
USER El Módulo USER realiza la administración de la Entrada/Salida del teclado, ratón y todas los dispositivos de Entrada/Salida de la interface del usuario. También administra la interacción con el controlador de sonido y puertos.
5
Arquitectura del Sistema Windows
KERNEL El módulo KERNEL proporciona la base del Sistema Operativo, incluyendo los servicios de Entrada/Salida de archivos, Gestión de la Memoria Virtual y Programación de multi-tareas (task scheduling).
6
Arquitectura del Sistema Windows
GDI El módulo GDI proporciona las funciones para generar las salidas graficas para pantallas, impresoras y en general para todos dispositivos gráficos de salida. El módulo GDI proporciona una abstracción del dispositivo de salida
7
Arquitectura del Sistema Windows
GDI Application Funciones Gráficas GDI 64 User Mode Kernel Mode Graphics Engine ( GDI ) Graphics Driver
8
Ciclo de Vida de una Aplicación Windows
VIDA, OBRA Y MUERTE DE UNA VENTANA
9
Ciclo de Vida de una Aplicación Windows
El programa Windows mas pequeño Un programa MS-Windows se crea con la función: INT WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, INT nCmdShow) { return 0; // No hace nada } … y muere cuando regresa
10
Ciclo de Vida de una Aplicación Windows
Un programa Windows mas largo… INT WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, INT nCmdShow) { CreateWindow(ClassName, WindowName, dwStyle, x , y, nWidth, Height, WndParent, …); While(&Msg,NULL,0,0) TranslateMessage(&Msg); DispatchMessage(&Msg); } return 0; // termina
11
Ciclo de Vida de una Aplicación Windows
La larga vida de una ventana Una ventana se crea con la función: CreateWindow(ClassName, WindowName, dwStyle, x , y, nWidth, Height, WndParent, …); y se cicla en un lazo infinito… … While(&Msg,NULL,0,0) { TranslateMessage(&Msg); DispatchMessage(&Msg); } y muere cuando sale del lazo…
12
Ciclo de Vida de una Aplicación Windows
La función de una ventana El corazón de una ventana es la función: WndProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) { switch ( msg ) { case WM_CREATE: { } case …. Default: return defWindowProc(hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
13
Ciclo de Vida de una Aplicación Windows
La función default de una ventana La función por default de Windows responde a TODOS los mensajes. INT defWindowProc (hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
14
Ciclo de Vida de una Aplicación Windows
La vida de una ventana Una ventana vive tratando mensajes Existen miles de mensajes
15
Ciclo de Vida de una Aplicación Windows
La Notificación de nacimiento de una ventana El primer mensaje que recibe una ventana es el mensaje : WM_CREATE
16
Ciclo de Vida de una Aplicación Windows
La imagen de una ventana Cuando una ventana necesita ser dibujada la función de control WndProc recibe el mensaje : WM_PAINT
17
Ciclo de Vida de una Aplicación Windows
La vida de una ventana Cuando una ventana cambia de tamaño la función de control WndProc recibe el mensaje : WM_SIZE
18
Ciclo de Vida de una Aplicación Windows
El fin de una ventana Una ventana se muere cuando recibe el mensaje WM_DESTROY Una ventana se puede auto destruir mandándose el mensaje WM_DESTROY
19
Ciclo de Vida de una Aplicación Windows LOS ESTILOS DE UNA VENTANA
20
Ciclo de Vida de una Aplicación Windows
Los estilos de una ventana Un estilo define un aspecto y comportamiento de una ventana Cada ventana tiene su propio estilo Muchas ventanas pueden tener el mismo estilo
21
Ciclo de Vida de una Aplicación Windows
Los estilos de una ventana Ejemplos de estilos WS_BORDER Crea una ventana con un borde delgado WS_CAPTION Crea una ventana con una barra de titulo (incluye el estilo WS_BORDER). WS_CHILD Crea una ventana hija. Una ventana con este estilo no puede tener barra de menú. (este estilo es incompatible con el estilo WS_POPUP). WS_POPUP La venta es una Popup.
22
Arquitectura del Sistema Windows
Los estilos de una ventana Ejemplos de estilos WS_SYSMENU La ventana tiene un menú sistema (WS_CAPTION debe definirse) WS_VISIBLE La ventana es visible WS_THICKFRAME La ventana tiene un borde para cambiarla de tamaño WS_MINIMIZEBOX La venta tiene un botón para minimizarla WS_MAXIMIZEBOX La venta tiene un botón para maximizarla
23
Arquitectura del Sistema Windows
La función default de una ventana La función por default de Windows responde a TODOS los estilos. INT defWindowProc (hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
24
Arquitectura del Sistema Windows
Las áreas de una ventana Una ventana tiene un Área Cliente un Área No Cliente
25
Arquitectura del Sistema Windows
26
Arquitectura del Sistema Windows
Una interfaz SDI Una aplicación SDI permite solamente abrir un documento a la vez.
27
Arquitectura del Sistema Windows
Una interfaz MDI Una aplicación MDI permite abrir varios documento a la vez.
28
Arquitectura del Sistema Windows
Tipos de ventanas Main (ventana principal) Child (ventana hija) Overlapped (ventana superpuesta) Popup (ventana volátil)
29
Arquitectura del Sistema Windows
Los Mensajes Existen mas de 1000 mensajes de uso común. Mensajes Windows.pdf
30
Arquitectura del Sistema Windows
SDK .VS. MFC El Software Development Kid (SDK) escrito en lenguaje C de WIN64 y que permitía programar una aplicación windows se encapsuló en clases C++ (1994). Las clases de Windows se integraron en una librería llamada MFC (Microsoft Foundation Classes)
31
Arquitectura del Sistema Windows
SDK .VS. MFC Los estilos y comportamientos de las ventanas se codificaron como funciones virtuales de una clase maestra llamada CObject. La clase de base de todas las ventanas es la clase CWnd
32
MFC (Parte 1)
33
MFC (parte 2)
34
MFC (parte 3)
35
Muchas Gracias
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.