Descripción general y uso básico de MFC

1. Diseño:

Agregar control, control de clic derecho, atributo, debe cambiar: ID

2. Haga clic con el botón derecho en el control, agregue un controlador de eventos (seleccione un evento de mensaje (clic, etc.)), o haga doble clic en el control (clic) para ir a la función de ranura correspondiente al mensaje de control, o seleccione un mensaje existente en el asistente de clase (clic derecho), Luego agregue la función; mensaje del sistema, puede seleccionar el mensaje que viene con el sistema en el asistente de clase, mensaje, y luego haga clic para agregar un controlador (como control deslizante, control de cuadro combinado, etc.)

3. GetDlgItemTextW (ID), y SetDlgItemTextW (ID, objeto CString), puede obtener y modificar el texto de control

4. Hay dos formas de usar el control: (esta función-> ui-> ID de control-> se puede usar directamente en qt, MFC es diferente)

(1) Haga clic con el botón derecho en el control, agregue variables, puede agregar una variable local de un control, a través de esta variable puede llamar a muchas funciones del control para lograr muchas funciones. En el asistente de clase, seleccione variables miembro, también puede agregar.

(2) Con GetDlgItem (ID), puede obtener el puntero del control y luego puede llamar a la función del control a través de este puntero.

5. Estructura del archivo MFC (basado en el cuadro de diálogo):

**. h, **. cpp Esto define la clase derivada de CwinApp. La clase CwinApp encapsula el mecanismo de bucle de mensajes de Windows y es responsable de la limpieza de la inicialización y salida de la aplicación.

** Dlg.h, ** Dlg.cpp se usa para crear la interfaz, y las variables agregadas estarán en esta clase. Hay una función OnInitDialog, // TODO: agregue código de inicialización adicional aquí, puede agregar algunas cosas de inicialización en esto (puede considerarse global)

6. La función de MFC generalmente se capitaliza al principio

7. Algunas funciones de MFC tienen el mismo nombre que la API de Windows. Al llamar a este tipo de API de Windows, agregue:

8.MessageBox () 弹 窗

-------------------------------------------------- --------------------------------------------

Resumen

El nombre completo de MFC es Microsoft Foundation Classes, es decir, Microsoft Foundation Class Library.

Microsoft ha integrado una gran cantidad de API del sistema operativo Windows en forma de clases C ++ en MFC y ha extendido algunas clases como CArray, CString, etc. Además, MFC también incluye un marco de desarrollo de aplicaciones de Windows.

El siguiente es un resumen del marco de desarrollo de MFC:

1. mecanismo de mensaje de Windows

Cada programa MFC corresponde a un bucle de mensajes. Cuando se inicia la aplicación, WinMain iniciará este bucle de mensajes, recuperando constantemente los mensajes enviados por el sistema operativo. Al recibir mensajes del sistema operativo (clic del mouse, entrada de teclado, etc.) El mensaje que activa el sistema operativo), el bucle de mensajes envía el mensaje al proceso de ventana correspondiente a la aplicación, y el proceso de ventana realiza un procesamiento diferente de acuerdo con los diferentes tipos de mensajes.

 

2. Todos los controles estándar en el marco MFC se heredan de CWnd. Para mostrar los controles en su propio estilo, debe heredar la clase de control existente y volver a dibujar en la clase que escribió. Si puede encontrar otros, escríbalo El control de dibujo automático MFC también se puede utilizar.

 

3. El control MFC utiliza CDC cuando se dibuja a sí mismo. CDC es una tabla de descripción de dispositivos. Virtualiza periféricos como pantallas a CDC. Al volver a dibujar, solo necesita operar el plano lógico virtual de CDC. En la pantalla.

 

4. El marco MFC puede personalizar el mensaje. El mensaje personalizado también puede transmitir dos parámetros mientras se envía el mensaje. Es útil en proyectos con múltiples hilos o funciones de devolución de llamada. También puede enviar mensajes cuando necesite actualizar el control con frecuencia. .

 

5. Además de los controles estándar existentes, MFC también admite componentes COM, controles ActiveX, etc.

 

6. Para usar constantes de caracteres independientes de la codificación en MFC, use _T macro, TCHAR para el tipo char, LPTSTR para char * y LPCTSTR para const char *.

 

7. Control estándar de MFC

Los controles estándar de MFC se pueden arrastrar directamente a la interfaz. Cada control estándar se puede vincular a dos tipos de variables: tipos de valor y tipos de control. Los tipos de valor están directamente vinculados a los valores que muestra el control. Además del valor del control, también puede controlar el comportamiento y las propiedades del control.

UpdateData (TRUE) 和 UpdateData (FALSE) :

UpdateData (TRUE) es asignar los valores mostrados por todos los controles en la interfaz a sus correspondientes variables de tipo de valor, y UpdateData (FALSE) es actualizar el valor de una variable de tipo de valor a su control correspondiente y mostrarlo.

Si desea obtener o establecer el valor de un control individualmente, puede usar GetDlgItemText, GetDlgItemInt, SetDlgItemInt, SetDlgItemText y otras funciones que interactúan con el control a través de la ID de control.

 

8. MFC no puede cruzar la plataforma, Qt puede

 

 

 

Referencia: https://blog.csdn.net/qq_26164563/article/details/80928825

-------------------------------------------------- -------------------------------------------------- -----------------------------------------

Controles

botón

cuadro de edición de texto de control de edición

opciones de la lista desplegable del cuadro combinado

casilla de verificación opción múltiple

Radio botón radio

barra de desplazamiento (el tipo de palabra)

barra de progreso de control de progreso,

barra de aumento y disminución del valor de control de giro, generalmente utilizada con control de edición

control deslizante (agregue mensajes de procesamiento de eventos que se seleccionarán en los mensajes definidos por el sistema, no haga doble clic) (agregue variables, como m_slid y m_slid. GetPos puede obtener la posición, esto se puede escribir en la función de procesamiento de mensajes anterior. (1,100), esto es para establecer el rango de valores de la barra de desplazamiento, esto se puede escribir en la función de inicialización)

tecla de acceso rápido, puede obtener automáticamente las teclas ingresadas por el teclado

lista de control lista

control de árboles

control de edición enriquecido Cuadro de texto enriquecido, la diferencia con el control de edición es que la fuente en el interior está formateada, puede haber múltiples formatos. Entonces puede usar el botón para cambiar el formato de fuente en este control

Control de pestañas Interfaz de pestañas, similar a la barra de herramientas. Haga clic en un botón para cambiar la interfaz. La interfaz debe estar en la vista de recursos, hacer clic con el botón derecho en Diálogo, agregar Diálogo, aparecerá una interfaz, luego agregar la clase y luego vincular

-------------------------------------------------- -------------------------------------------

La clase CString es un tipo de cadena de uso común en MFC. El parámetro de una función general es una cadena de CString. Tiene muchos métodos y funciones, similares a QString en Qt

CString str ;

int num = 1 ;

str.Format (L "El número de serie es:% d", num);

-------------------------------------------------- ------------------------------------------

BYTE es un byte, es decir, 8 bits. Se usa para almacenar el puntero de tipo char o char.

PALABRA es una palabra, es decir, 16 bits. Se utiliza para almacenar enteros de 16 bits o direcciones de 16 bits.

DWORD es una palabra doble, que tiene 32 bits. Se puede usar para almacenar enteros de 32 bits o direcciones de memoria de 32 bits .

Principalmente por conveniencia al escribir y leer el código fuente. Se definen en el archivo de encabezado windef.h.

  typedef unsigned char BYTE

  typedef unsigned short WORD;

  typedef unsigned long DWORD

 

 

 

 

Publicado 59 artículos originales · Me gusta46 · Visitas 30,000+

Supongo que te gusta

Origin blog.csdn.net/sinat_41852207/article/details/86675928
Recomendado
Clasificación