Programación en C++ Builder

3. Ejemplo de clase en c++
8. Métodos de la clase AnsiString
 Packages, distribuir una aplicación sin instalación

4. Cuadro de mensaje (MessageBox)

La función de mensaje crea, muestra, y opera un cuadro o caja de mensaje. El cuadro de mensaje contiene un mensaje y el título definido por la aplicación, así como cualquier combinación de iconos y botones predefinidos.

int __fastcall MessageBox(char * Text, char * Caption, int Flags);

Parámetros

Text (Texto)

Apunta a una cadena terminada en cero que contiene el mensaje que se mostrará.

Caption (Leyenda)

Apunta a una cadena terminada en cero utilizada para el título del cuadro de diálogo. Si este parámetro es NULL, se utilizará el título predeterminado de error.

Flags (Banderas)

Especifica un conjunto de bits indicadores que determinan el contenido y el comportamiento del cuadro de diálogo. Este parámetro puede ser una combinación de banderas de los siguientes grupos.

1.- Especificar una de las siguientes banderas para indicar los botones que figuran en el cuadro de mensaje:

Flags Significado
MB_ABORTRETRYIGNORE El cuadro de mensaje contiene tres botones: Anular, Reintentar e Ignorar.
MB_OK El cuadro de mensaje contiene un botón: OK. Este es el predeterminado.
MB_OKCANCEL El cuadro de mensaje contiene dos botones: Aceptar y Cancelar.
MB_RETRYCANCEL El cuadro de mensaje contiene dos botones: Reintentar y Cancelar.
MB_YESNO El cuadro de mensaje contiene dos botones: Sí y No.
MB_YESNOCANCEL El cuadro de mensaje contiene tres botones: Sí, No, y Cancelar.

2.- Especificar uno de los siguientes indicadores para mostrar un icono en el cuadro de mensaje:

Flags Significado
MB_ICONEXCLAMATION una exclamación, icono de punto aparece en el cuadro de mensaje.
MB_ICONWARNING  
MB_ICONINFORMATION un icono que consiste en una i minúscula en un círculo aparece en el cuadro de mensaje.
MB_ICONASTERISK  
MB_ICONQUESTION Una pregunta icono de la marca aparece en el cuadro de mensaje.
MB_ICONSTOP una parada de signo icono aparece en el cuadro de mensaje.
MB_ICONERROR  
MB_ICONHAND  

3 Especificar una de las siguientes banderas para indicar el botón por defecto:

Flags Significado
MB_DEFBUTTON1 El primer botón es el botón predeterminado.
MB_DEFBUTTON2 El segundo botón es el botón predeterminado.
MB_DEFBUTTON3 El tercer botón es el botón predeterminado.
MB_DEFBUTTON4 El cuarto botón es el botón predeterminado.

MB_DEFBUTTON1 es el valor predeterminado a menos que se especifique MB_DEFBUTTON2, MB_DEFBUTTON3, o MB_DEFBUTTON4.

Valor de retorno

El valor de retorno es cero si no hay suficiente memoria para crear el cuadro de mensaje.
Si la función tiene éxito, el valor de retorno es uno de los siguientes elementos de menú de los valores devueltos por el cuadro de diálogo:

Valor Valor numérico Significado
IDABORT 3 El usuario eligió el botón Anular.
IDCANCEL 2 El usuario eligió el botón Cancelar.
IDIGNORE 5 El usuario eligió el botón Ignorar.
IDNO 7 El usuario escogió en el botón No.
IDOK 1 El usuario eligió el botón Aceptar.
IDRETRY 4 El usuario eligió el botón Reintentar.
IDYES 6 El usuario eligió el botón Sí

Si un cuadro de mensaje tiene un botón Cancelar, la función devuelve el valor IDCANCEL si la tecla ESC es pulsada o el botón Cancelar es seleccionado. Si el cuadro de mensaje no tiene ningún botón Cancelar, al presionar ESC no tiene ningún efecto.

4.1. Ejemplo de utilización del MessageBox

En el siguiente ejemplo, se introduce la llamada al MessageBox en el interior de una sentencia if. El cuadro de mensaje se muestra al llegar a la sentencia y queda en espera de que el usuario actúe sobre él. Cuando se cierra el MessageBox  el valor de retorno es capturado y evaluado por la sentencia. En este caso, si se ha pulsado el botón aceptar IDOK se ejecutará el cuerpo de la sentencia, de lo contrario se descarta.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if(Application->MessageBoxA("¿Guardar el fichero?","Guardar como",MB_OKCANCEL) == IDOK)
  {
  // Guardar el fichero

   }
}
Ejemplo de MessageBox

En el siguiente ejemplo se muestra la combinación de varios indicadores para establecer los botones que se han de mostrar junto con un icono.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if(Application->MessageBoxA("¿Guardar el fichero?","Guardar como",MB_OKCANCEL+ MB_ICONQUESTION) == IDOK)
  {
  // Guardar el fichero

  }
}
Ejemplo de combinación de varios flags en MessageBox
 
copyright © 2007-2010  alciro.org  All rights reserved.         
Share |