PROGRAMACIÓN MULTIMEDIA PROGRAMACIÓN EN WINDOWS. Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación.

Slides:



Advertisements
Presentaciones similares
Capítulo 2 Algoritmos.
Advertisements

Introducción a la programación (Clase 2)
Curso de java básico (scjp)
Unidad 15 Características de C++ no relacionadas con el DOO.
EL LENGUAJE DE PROGRAMACIÓN C
Programación Interactiva Fundamentos de Programación
Instrucciones y excepciones
Uso de variables de tipo referencia
La función del menu activo siempre aparece en letras blancas. Cuando acceda al menu del GT de la izquierda, será directamente reenviado al calendario de.
SISTEMAS DE INFORMACIÓN
Tipos de Datos Abstractos (III) Clase #23 Introducción a la Programación.
Desarrollo de Aplicaciones para Internet
Definición y Características
Tema 2: Lenguaje PHP básico
FUNCIONES EN C.
INFORMATICA I Funciones CLASE 13.
PROGRAMACIÓN MULTIMEDIA INTRODUCCIÓN A LA PROGRAMACIÓN EN MATLAB.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
1 E/S Driver Impresora –Airam Godoy Hernández –Jose Yeray Suárez Perdomo.
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Funciones y procedimientos
Estructuras dinámicas de datos, TAD Lista, parte 2
Tema 9 Estructuras.
Igor Santos Grueiro. Ahora tenemos datos y datos …
Lenguaje C.
LENGUAJE “C” Programación.
Introducción a la Computación
Ingeniería de Software
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
ENTORNO GRÁFICO DE VISUAL BASIC 2013
Desarrollador Profesional de Juegos Programación III Unidad II Una clase thread para window.
Archivos.
Framework Class Library (FCL) Dr. Diego Lz. de Ipiña Gz. de Artaza
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
Página Web del Lenguaje Pascal.
Capítulo 1 “Elementos de Programación”
ATC-DistribuidasUniversidad de Oviedo / Dpto. de Informática XDR (External Data Representation) Tipos y codificación.
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
El lenguaje de programación C - Identificadores y variables – Isidro González Caballero ( Introducción.
Lenguaje de Programación Java. Historia Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los.
Programación en Lenguaje C
Técnicas Fundamentales de Simulación, Reconstrucción y Análisis de Datos en Física Experimental de Partículas El Lenguaje C++ (Introducción, variables,
Resumen Fundamentos de Programación/ Programación I
Estructuras de Control.
Técnicas Computacionales en Física
QUÈ ES VISUAL BASIC ES UN LENGUAJE DE PROGRAMACIÒN QUE SE HA DISEÑADO PARA FACILITAR EL DESARROLLO DE APLICACIONES EN EL ENTORNO GRÀFICO (GUI GRAPHICAL.
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. EVALUACION DE ALGORITMOS.
Agenda Clase 6 Iteradores. Enumeración sin iteradores. Loops lógicos. Recursión vs. Iteración. Recursión de Cola. Orden de Evaluación Normal y Aplicativo.
Acerca del curso Nombre del curso Créditos: Profesor Teoría:
PROGRAMACIÓN MULTIMEDIA
Símbolos de Programación Estructurada
Visual Basic Visual Basic 6.0 es un programa que consiste en la programación en lenguaje Basic en un entorno visual de manejo.
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
UNIVERSIDAD LATINA INTRODUCCION A LA PROGRAMACION INSTRUCCIONES INTERATIVAS.
Sesión 4: Repaso Lenguaje C (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales.
INTRODUCCIÓN AL LENGUAJE C++. Instrucciones Temas.

Estructura de Datos En C++
Práctica Profesional PHP.
ESTRUCTURAS DE DECISION MULTIPLE
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Windows Ventajas y Filosofía Preparado por: Prof. Nelliud D. Torres Curso: GEIC-1000 Universidad Interamericana de Puerto Rico Recinto de Bayamón.
LICETH CAJAS 3RO ASI 26/10/2010. Es un lenguaje de programación diseñado para crear una amplia gama de aplicaciones que se ejecutan en.NET Framework,
¿Qué es C++ Builder? C++ Builder es una herramienta de desarrollo rápido (RAD) y de desarrollo de bases de datos para Windows de Microsoft. La escritura.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Arquitectura del Sistema Windows
Programación en Java..
Transcripción de la presentación:

PROGRAMACIÓN MULTIMEDIA PROGRAMACIÓN EN WINDOWS

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 2 zEstructura de un programa WindowsEstructura de un programa Windows zMensajesMensajes zCompilación de un programa WindowsCompilación de un programa Windows zAportaciones de la programación en WindowsAportaciones de la programación en Windows zEjemplos de mensajesEjemplos de mensajes

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 3 zDiseño de interfaces zTransparencia zMultitarea Aportaciones de la programación en Windows

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 4 Compilación de un programa Windows - Diferencia los recursos (menús, iconos, diálogos, bitmaps) del código. - Archivos implicados: *.rc, *.ico -> *.res *.c, *.h -> *.obj *.obj, *.res, *.def -> *.exe

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 5 Compilación de un programa Windows (2) /* generic.h*/ #define IDM_DOIT 1 #define IDM_QUIT 2 int ghInstance; char gszAppName[] = “generic”; long FAR PASCAL WndProc (HWND, unsigned, WORD, LONG);

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 6 Compilación de un programa Windows (3) Archivos RC: /*generic.rc */ #include #include “generic.h” generic ICON generic.ico generic MENU BEGIN MENUITEM “&Do It!” IDM_DOIT MENUITEM “&Quit”, IDM_QUIT END

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 7 Compilación de un programa Windows (y 4) Archivos DEF: NAMEGENERIC DESCRIPTION‘generic windows program’ EXETYPEWINDOWS STUB‘WINSTUB.EXE’ CODEPRELOAD MOVEABLE DATAPRELOAD MOVEABLE MULTIPLE HEAPSIZE1024 STACKSIZE5120 EXPORTSWndProc

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 8 Estructura de un programa Windows La mayoría de los programas en Windows tienen dos funciones comunes: - Winmain() - WndProc()

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 9 Estructura de un programa Windows (2) WinMain() - Es el punto de entrada y salida del programa. - Se encarga del aspecto de la ventana principal. - Contiene el bucle de mensajes.

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 10 Estructura de un programa Windows (3) WndProc() - Se la conoce como “función de procesado de mensajes”. - En ella se escribe el código del programa.

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 11 Estructura de un programa Windows (4) #include long FAR PASCAL WndFunction (HWND, WORD, WORD, LONG); int PASCAL WinMain (HANDLE hInstance, HANDLE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { static char szAppName[]= "GENERIC", szTitleBar[]= "Title Bar"; HWND hwnd; WNDCLASS wndclass; MSG msg;

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 12 Estructura de un programa Windows (5) if (! hPrevInstance) { wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndFunction; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hInstance; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor (NULL, IDC_ARROW); wndclass.hbrBackground= GetStockObject (WHITE_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName= szAppName; RegisterClass (&wndclass); }

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 13 Estructura de un programa Windows (6) hwnd= CreateWindow (szAppName, szTitleBar, WS_OVERLAPPEDWINDOW, 0, /* x position for this window */ 0, /* y position for this window */ 320, /* window width is 320 dots */ 240, /* window height is 240 dots */ NULL, hInstance, NULL); ShowWindow (hwnd, nCmdShow); UpdateWindow (hwnd);

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 14 Estructura de un programa Windows (7) while (TRUE == GetMessage (&Message,0,0,0)) { TranslateMessage (&Message); DispatchMessage (&Message); }

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 15 Estructura de un programa Windows (8) long FAR PASCAL WndFunction (HWND hWnd, WORD wMsg, WORD wParam, LONG lParam) { HDC hdc; PAINTSTRUCT ps; RECT rect;

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 16 Estructura de un programa Windows (y 9) switch (wMsg) { case WM_PAINT: hdc= BeginPaint (hWnd, &ps); GetClientRect (hWnd, &rect); DrawText (hdc, "Application Window", -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); EndPaint (hWnd, &ps); return (0); break; case WM_DESTROY: PostQuitMessage (0); return (0); break; default: return (DefWindowProc (hWnd, wMsg, wParam, lParam)); }

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 17 Mensajes Interrupciones “Hardware” Cola de mensajes GetMessage() TranslateMessage() DispatchMessage() WndProc() DefWindowProc() Hook() Bucle de mensajes Lógica y acciones del programa Procesado de mensajes “por defecto”

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 18 Mensajes (2) Cola de mensajes Bucle de mensajes WndProc() Hardware PostMessage() TransMessage SendMessage() Otras aplicaciones. PostMessage() Otras aplicaciones. SendMessage() DispatchMessage()

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 19 Mensajes (3) /* Estructura mensaje*/ typedef struct tagMSG { HWND hwnd; WORD message; WORDwparam; LONGlparam; DWORDtime; POINTpt; } MSG; typedef MSG*PMSG typedef MSG NEAR*NPMSG typedef MSG FAR*LPMSG

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 20 Mensajes (y 4) Funciones para controlar la prioridad de las aplicaciones: - GetMessage() - PeekMessage() - WaitMessage()

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 21 Ejemplos de Mensajes BM_ : Mensaje de botón. BM_GETCHECK BM_SETCHECK

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 22 Ejemplos de Mensajes (2) CB_: Mensaje de “Combo Box” CB_ADDSTRING CB_FINDSTRING CB_FINDSTRINGEXACT CB_GETCURSEL CB_GETLBTEXT CB_GETLBTEXTLENGTH CB_SELECTSTRING

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 23 Ejemplos de Mensajes (3) EM_: Mensaje de caja de texto EM_LIMITTEXT LB_: Mensaje de “List Box” LB_ADDSTRING LB_GETCURSEL LB_GETTEXT LB_GETTEXTLEN LB_INSERTSTRING

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 24 Ejemplos de Mensajes (4) SBM_: Mensaje de “Scroll Box” SBM_GETPOS SBM_GETRANGE SBM_GETSCROLLINFO SBM_SETPOS SBM_SETRANGE SBM_SETSCROLLINFO

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 25 WM_: Todos los demás mensajes WM_CHAR WM_KEYDOWN WM_KEYUP WM_CREATE WM_DEADCHAR WM_GETMINMAXINFO WM_GETTEXT WM_GETTEXTLENGTH WM_INITDIALOG WM_DESTROY Ejemplos de Mensajes (5)

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 26 Ejemplos de Mensajes (6) WM_PAINT WM_QUIT WM_HSCROLL WM_VSCROLL WM_SETTEXT WM_TIMER

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 27 Ejemplos de Mensajes (7) Mensaje WM_PAINT Definición: Una aplicación envia un mensaje WM_PAINT cuando Windows u otra aplicación hace una petición para pintar una porción de la ventana de la aplicación. El mensaje es enviado cuando las funciones UpdateWindow o RedrawWindow son llamadas o por la función DispatchMessage cuando la aplicación obtiene un mensaje WM_PAINT tras el uso de las funciones GetMessage o PeekMessage.

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 28 Descripción: Este mensaje no tiene parámetros. Valor de retorno: Una aplicación debe retornar con cero si procesa este mensaje. Ejemplos de Mensajes (8)

Programación MultimediaProgramación en Windows © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. 29 Acción por defecto: La función DefWindowProc valida la región a actualizar. La función también enviará un mensaje WM_NCPAINT al procedimiento de ventana si el marco de la ventana ha de ser pintado y envía un mensaje WM_ERASEBKGND si el fondo de la ventana debe ser borrado. Ejemplos de Mensajes (y 9)

PROGRAMACIÓN MULTIMEDIA PROGRAMACIÓN EN WINDOWS