Red de conocimiento informático - Conocimiento informático - Cuadro de mensaje de diálogo

Cuadro de mensaje de diálogo

En el proceso de uso de Windows, a menudo vemos cuadros de diálogo de mensajes para recordarnos excepciones o consultas. Dado que los cuadros de diálogo de mensajes se utilizan a menudo en el desarrollo de software, MFC proporciona dos funciones que pueden generar directamente cuadros de diálogo de mensajes de estilos específicos sin la necesidad de crear recursos de diálogo y generar clases de diálogo cada vez que se utilizan. Estas dos funciones son la función miembro de la clase CWnd MessageBox () y la función global AfxMessageBox ().

Uso de la función I.CWnd::MessageBox() y la función AfxMessageBox()

El uso de estas dos funciones se explica a continuación.

1. Función CWnd::MessageBox()

El prototipo de la función CWnd::MessageBox() es el siguiente:

int MessageBox(

LPCTSTR lpszText,

LPCTSTR lpszCaption = NULL,

UINT nType = MB_OK

);

Descripción del parámetro:

lpszText: La cadena del mensaje que se mostrará.

lpszCaption: la cadena de título del cuadro de diálogo del mensaje. El valor predeterminado es NULO. Si el valor es NULL, se utiliza el título predeterminado.

nTipo: Estilo y propiedades del cuadro de diálogo del mensaje. El valor predeterminado es el estilo MB_OK, es decir, solo el botón Aceptar.

nType puede ser cualquiera de los dos valores siguientes o cualquier combinación de estos dos valores. Puede especificar el tipo de diálogo, el icono del diálogo o ambos.

Tabla de tipos de diálogo:

Descripción del parámetro nType

MB_ABORTRETRY tiene botones "abandonar", "reintentar" e "ignorar"

MB_ABORTRETRY tiene botones "Abandonar", "Reintentar" y "Ignorar"

MB_ABORTRETRY tiene botones "Ignorar" y "Abandonar". "

MB_OK tiene el botón "Aceptar"

MB_OKCANCEL tiene los botones "Aceptar" y "Cancelar"

MB_RETRYCANCEL tiene los botones "Reintentar" y "Cancelar" botones

MB_YESNO tiene botones "Sí" y "No"

MB_MOTHER_BUZZER " y botones "No"

MB_YESNOCANCEL tiene "Sí", "No" y " Botones "Cancelar"

Tabla de tipos de iconos de diálogo:

nType

MB_ICONEXCLAMTION

MB_ICONWARNING

MB_ICONASTERISK

MB_ICONINVENTION

MB_ICONWARNING

MB_ICONWARNING

MB_ICONWARNING

MB_ICONASTERISK

MB_ICONINFORMATION

MB_ICONQUESTION

MB_ICONHAND

MB_ICONSTOP

MB_ICONERROR

Si desea establecer el valor de nType en una combinación de tipo e icono , puedes usar Un valor como MB_OKCANCEL | MB_ICONQUESTION es suficiente.

2. Función AfxMessageBox()

Prototipo de función AfxMessageBox():

int AfxMessageBox(

LPCTSTR lpszText,

UINT nType = MB_OK,

UINT nIDHelelp = MB_OK>UINT nIDHelp = 0

);

Descripción del parámetro:

lpszText: Igual que la función CWnd::MessageBox()

nType: Función CWnd::MessageBox()

nIDHelp: Ayuda para este ID de contexto de mensaje. El valor predeterminado es 0, lo que significa utilizar el contexto de ayuda predeterminado de la aplicación.

2. Valores de retorno de CWnd::MessageBox() y AfxMessageBox()

Después de llamar a las dos funciones anteriores, podemos abrir el cuadro de diálogo de mensaje modal. También podemos obtener el valor de retorno de los cuadros de diálogo de mensajes una vez cerrados. El valor de retorno de ambas funciones es el ID del botón en el que el usuario hizo clic en el cuadro de diálogo del mensaje, que podría verse así:

IDABORT: haga clic en el botón "Abortar".

IDCANCELAR: Haga clic en el botón "Cancelar".

IDIGNORAR: Haz clic en el botón "Ignorar".

IDNO: Haga clic en el botón "No".

Aceptar: Haga clic en el botón Aceptar.

Reintentar: haz clic en el botón Reintentar.

IDYES: Haz clic en el botón "Sí".