Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Quitar sonido a MessageBox (https://www.clubdelphi.com/foros/showthread.php?t=47104)

Greco 18-08-2007 00:20:15

Quitar sonido a MessageBox
 
HOla
Estoy utilizando el siguiente código:

Código Delphi [-]
Application.MessageBox('Guardar datos.','GUARDAR',MB_YesNo);

como parte de un codigo pero al momento de aparecer el cuadro con el mensaje me tira un sonido (el tipico sonido) y no se de que forma eliminarselo.

Cual seria la sintaxis correcta para eliminar el sonido y solo me mostrase el mensaje??

Saludos

b3nshi 18-08-2007 00:45:19

Buscando por ahi encontre esta funcion q por cierto me vino al pelo :D

Aqui esta la descripcion de la misma por si te interesa y mas abajo un ejemplo de como usarla...

type TMsgDlgType = (mtWarning, mtError, mtInformation, mtConfirmation, mtCustom);
type TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp);
type TMsgDlgButtons = set of TMsgDlgBtn;
function CreateMessageDialog(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons): TForm;


Un ejemplo:
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin
with CreateMessageDialog('Este es el mensaje de error!', mtError, mbOKCancel) do
    try
     Position := poScreenCenter;
     Color := clwhite;
     Caption := 'Titulo!';
     ShowModal;
    finally
      Free;
    end;

end;

Y lo puedes configurar como si fuese un formulario... con todas las opciones de uno... solo resta usar la imaginacion... y si no me equivoco no emite sonido! =)

{Saludos}

Greco 18-08-2007 01:04:36

Ese es el problema... que no se puede modificar el titulo, aunque creo que utilizando mtCustom toma el titulo de la aplicacion.

b3nshi 18-08-2007 01:20:07

Si se puede!

En el ejemplo q te puse, se puede ;)...

Es decir... es un formulario, solo era cuestion de cambiarle el caption... :D

Ya edite mi respuesta anterior y ahi te explico como hacerlo... Funciona muy bien!... inclusive le cambia el color y todo... podes modificar todas las propiedades q tiene un formulario... es decir, la posicion, tamaño y esas cosas...

{Saludos}

Greco 18-08-2007 02:06:21

Cita:

Empezado por b3nshi (Mensaje 224322)
Si se puede!

En el ejemplo q te puse, se puede ;)...

Es decir... es un formulario, solo era cuestion de cambiarle el caption... :D

Ya edite mi respuesta anterior y ahi te explico como hacerlo... Funciona muy bien!... inclusive le cambia el color y todo... podes modificar todas las propiedades q tiene un formulario... es decir, la posicion, tamaño y esas cosas...

{Saludos}


Ahora si lo vi.

Muchas gracias, era lo que necesitaba.

Khronos 18-08-2007 02:41:33

Con lo facil que es hacer esto:

Código Delphi [-]
 
procedure TForm1.Button1Click(Sender: TObject);
var
respuesta: word;
begin
respuesta:= MessageDlg('Guardar datos?', mtconfirmation, [mbYes, mbNo, mbCancel], 0);
        If respuesta=mrYes then begin
                showmessage('Datos guardados');
        end;
        If respuesta=mrNo then begin
                close;
        end;
        If respuesta=mrYes then begin
                showmessage('Operacion cancelada');
        end;
end;

De la otra forma te complicas la vida.

Salu2

b3nshi 18-08-2007 06:49:21

La vida de quien? Aparte la idea es poder cambiarle el titulo no? Con esta funcion no se puede...

Ademas considerando q te da mayores posibilidades en la configuracion creo q es bastante conveniente...

En cuanto a tu solucion inclusive esa no es la mejor, ya q bien puedes sustituir tantas sentencias IF por un simple CASE

{Saludos}


La franja horaria es GMT +2. Ahora son las 07:49:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi