User: alciro    User
 

Programación en C++ Builder

Share |
 Arrays (matrices)
 Punteros
3. Ejemplo de clase en c++
8. Métodos de la clase AnsiString
 Proyectos en C++
 Packages, distribuir una aplicación sin instalación
 Ordenación por intercambio o burbuja
 Funciones de cadenas de caracteres string.h

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:

FlagsSignificado
MB_ABORTRETRYIGNOREEl cuadro de mensaje contiene tres botones: Anular, Reintentar e Ignorar.
MB_OKEl cuadro de mensaje contiene un botón: OK. Este es el predeterminado.
MB_OKCANCELEl cuadro de mensaje contiene dos botones: Aceptar y Cancelar.
MB_RETRYCANCELEl cuadro de mensaje contiene dos botones: Reintentar y Cancelar.
MB_YESNOEl cuadro de mensaje contiene dos botones: Sí y No.
MB_YESNOCANCELEl 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:

FlagsSignificado
MB_ICONEXCLAMATIONuna exclamación, icono de punto aparece en el cuadro de mensaje.
MB_ICONWARNING
MB_ICONINFORMATIONun icono que consiste en una i minúscula en un círculo aparece en el cuadro de mensaje.
MB_ICONASTERISK
MB_ICONQUESTIONUna pregunta icono de la marca aparece en el cuadro de mensaje.
MB_ICONSTOPuna 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:

FlagsSignificado
MB_DEFBUTTON1El primer botón es el botón predeterminado.
MB_DEFBUTTON2El segundo botón es el botón predeterminado.
MB_DEFBUTTON3El tercer botón es el botón predeterminado.
MB_DEFBUTTON4El 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:

ValorValor numéricoSignificado
IDABORT3El usuario eligió el botón Anular.
IDCANCEL2El usuario eligió el botón Cancelar.
IDIGNORE5El usuario eligió el botón Ignorar.
IDNO7El usuario escogió en el botón No.
IDOK1El usuario eligió el botón Aceptar.
IDRETRY4El usuario eligió el botón Reintentar.
IDYES6El 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
Loading

copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |