Cuadros de dialogo de windows en Delphi
El sistema operativo Windows nos ofrece diferentes cuadros de dialogo, para mostrar texto, cuadros con opciones, selección de directorios, entradas de texto, salvar documento.
ShowMessage – Mostrar un cuadro de dialogo simple
El primero que veremos es el cuadro de dialogo simple, ese cuadro de dialogo solo permite texto, sirve para informar de un proceso al usuario y solo tiene un botón Acepter, Ok
Para mostrar ese cuadro de dialogo usaremos la función ShowMessage de delphi
Function ShowMessage(‘mensaje’);
Ejemplo:
ShowMessage(‘Hola mundo!!!’);
MessageBox – Mostrar un cuadro de dialogo personalisado
Para crear un cuadro de dialogo con botones para poder escojer una opción y icono usaremos la funcion MessageBox de delphi
function MessageBox(Handler,const Message, Title: PChar; Flags: Longint = MB_OK): Integer;
Handler = identificador de ventana
Message = Mensaje que queremos mostrarm
Title= Titulo del cuadro de dialogo
Flags: Botones y icono a mostrar
Botones:
Mb_AbortRetryIgnore: Muestra los botones Abortar, Reintentar y Ignorar
Mb_OK: Muestra el boton Aceptar
Mb_OkCancel: Muestra los botones Aceptar y Cancelar
Mb_RetryCancel: Muestra los botones Reintentar y Cancelar
Mb_YesNo: Muestra los botones SI y No
Mb_YesNoCancel: Muestra los botones Si, No y Cancelar
Iconos
Mb_IconWarning: Muestra el icono de Advertencia *Mb_IconExclamation
Mb_IconAsterisk: Muestra el icono de Información *Mb_IconInformation
Mb_IconQuestion: Muestra el icono de Pregunta
Mb_IconError: Muestra el icono de Error
Ejemplo:
MessageBox(form1.Handle,’mensaje’,'tittulo’,mb_YesNo + mb_IconInformation);
creará un cuadro de dialogo parecido a la imagen
La función MessageBox nos devuelve el boton que el usuario a pulsado, su resultado puede ser:
IdYes: cuando el botón Si ha sido pulsado
IdRetry: cuando el botón Reintentar ha sido pulsado
IdOk: cuando el botón Aceptar ha sido pulsado
IdNo: cuando el botón No ha sido pulsado
IdIgnore: cuando el botón Ignorar ha sido pulsado
IdCancel: cuando el botón Cancelar ha sido pulsado
IdAbort: cuando el botón Abortar ha sido pulsado
Ejemplo 2 *obtener el resultado de un MessageBox
var
botonsel : Integer;
begin
botonsel := MessageBox(form1.Handle,'mensaje','tittulo',mb_yesno +MB_ICONINFORMATION);
if (botonsel = idYes) then showmessage('ha pulsado si');
end;
*el cuadro de dialogo con ShowMessage siempre aparece al centro de la aplicación
InputBox – Pedir información al usuario
Para pedir al usuario información a través de un cuadro de dialogo usaremos la función InputBox de delphi
Function InputBox(titulo,label,texto):string;
Titulo= titulo del cuadro de dialogo
label = la información a pedir
texto = texto predeterminado
La función nos devuelve una cadena con lo que ha introducido el usuario
Ejemplo
Var
cadena: string;
begin
cadena := inputbox('Entra un texto','texto','...');
end;
SelectDirectory – Para seleccionar un directorio
Con la función de delphi SelectDirectory llamamos al cuadro de dialogo para seleccionar un directorio.
function SelectDirectory(const Caption: string; const Root: WideString; out Directory: string): Boolean; overload;
Ejemplo:
var
initialDir,ResultDir: string;
begin
ResultDir := '';
if ( SelectDirectory('Select directory...',initialDir,resultDir) ) then
ShowMessage(ResultDir);
end;
mostrará un cuadro como el siguiente:
