Tecnología

Inicio

Cómo hacer Hilos de interfaz de MFC

Un hilo es un segmento de programa semi-independiente que reside dentro del espacio de memoria de ejecución de un programa. El Microsoft Foundation Class (MFC) Biblioteca ofrece la clase CWinThread para hacer el código seguro para subprocesos. CWinThread apoya subprocesos de trabajo y los hilos de interfaz de usuario. A diferencia de subprocesos de trabajo adecuado para el proceso de fondo, hilos de interfaz de usuario utilizan mapas de mensajes y mensajes orientados al usuario del proceso. Este artículo se centra en la creación y el uso de hilos de interfaz de usuario.

Instrucciones

1 Lanzar Microsoft Visual Studio y crear un nuevo proyecto. Para crear un nuevo proyecto MFC, desde la barra de menús, haga clic en "Archivo"> ​​"Nuevo". Haga clic en la pestaña "Proyectos" y seleccione "Asistente para aplicaciones de MFC (exe)." Escriba un nombre de proyecto en el marco del "Nombre del proyecto" cuadro de edición y pulsa "Aceptar". Seleccione "Documento único" y "Documento / vista apoyo arquitectura" en la segunda página del asistente y pulse "Finalizar" y "OK".

2 Crear una clase de hilo usando el Asistente de clase. En la barra de menús, haga clic en "Ver"> "ClassWizard" o simplemente pulse Ctrl + W. Seleccione la opción "Agregar clase"> "Nuevo". Enter "CThread" en el campo de entrada "Nombre" y elegir la opción "CWinThread" para "Clase base" en el cuadro de menú desplegable. Pulse el botón "OK" dos veces. Ahora el Asistente de clase ha creado hilo "h" y archivos "CPP" que almacenan la declaración y definición de CThread, respectivamente.

3 Añadir una función miembro de la clase CThread para el tratamiento de los mensajes. En el panel izquierdo, haga clic en la pestaña "FileView", expanda el directorio "Archivos de encabezado" y haga doble clic en "Thread.h" para que se abra en el editor de código fuente. Eliminar "CThread ();" bajo "protegido" por el corte y pegue la línea debajo de "público". Añadir "vacío MsgHandler (WPARAM, LPARAM)", la definición de la función, a la siguiente línea. A continuación, expanda el directorio "Archivos de origen" y haga doble clic en "Thread.cpp" para que se abra en el editor de código fuente. Anexar la definición de la función que se muestra a continuación:


anulará MyThread :: MsgHandler (WPARAM, LPARAM)

{

// Código de procesamiento de mensajes

}

4 Incorporar la clase CThread en otros proyectos de MFC. Si ha derivado una clase de CToolBar llama CModifiedToolBar, debería insertar "# include" Thread.h "en la parte superior del" archivo de CModifiedToolBar.cpp ".

5 Utilizar objetos de la clase CThread en su programa de la siguiente manera:


// CModifiedToolBar.cpp

CThread * pThread;

pThread = new CThread ();

pThread-> CreateThread ();

pThread-> SetThreadPriority (THREAD_PRIORITY_ABOVE_NORMAL);

pThread-> Ejecutar ();

pThread-> SuspendThread ();

// Etc.

Consejos y advertencias

  • También puede iniciar un hilo de interfaz de usuario con la función AfxBeginThread.
  • No compilar el código que se muestra en el paso 5; que sólo está destinado a demostrar.