Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Manipular ShowMessage (https://www.clubdelphi.com/foros/showthread.php?t=58241)

JoseFco 13-07-2008 19:32:55

Manipular ShowMessage
 
"Tolomeo se mudo al Polo Norte"

dec 13-07-2008 19:42:02

Hola,

Como poderse hacer, creo que se puede hacer algo, y aun algos, pero, nada comparable a preparar un formulario por tu cuenta, con los componentes que necesites, y los métodos que creas oportunos. Yo creo que esto último puede ser lo más práctico, ahora, si lo que quieres es lo que dices y punto, entonces me callo y ya está. :)

JoseFco 13-07-2008 19:46:51

"Tolomeo se mudo al Polo Norte"

roman 13-07-2008 19:56:00

Código Delphi [-]
var
  Form: TForm;

begin
  Form := CreateMessageDialog('Hola mundo', mtCustom, [mbOk]);
  Form.Color := clRed;
  if Form.Controls[0] is TLabel then
  begin
    TLabel(Form.Controls[0]).Font.Color := clGreen;
    TLabel(Form.Controls[0]).Font.Style := [fsBold];
  end;

  with Form do
  begin
    try
      ShowModal;
    finally
      Free;
    end;
  end;
end;

ShowMessage usa internamente a CreateMessageDialog.

// Saludos

JoseFco 13-07-2008 20:26:50

"Tolomeo se mudo al Polo Norte"

Neftali [Germán.Estévez] 14-07-2008 09:34:56

A parte de manipular los controles existentes, puedes añadirle nuevos; En el truco 477 tienes cómo hacerlo.

Omega 14-07-2008 16:59:46

Ey gracias roman, yo también tenia curiosidad.

Por cierto, ¿Y mostrar una imagen seria posible? Al igual que sale por ejemplo la imagen de error, exclamación, información,...

Saludos.

roman 14-07-2008 18:01:21

Cita:

Empezado por Omega (Mensaje 300322)
¿Y mostrar una imagen seria posible? Al igual que sale por ejemplo la imagen de error, exclamación, información,...

Sí se puede. Ya lo contempla la función CreateMessageDialog. En lugar de mtCustom en el segundo parámetro, puedes poner mtError, mtWarning, mtInformation o mtConfirmation.

// Saludos

Neftali [Germán.Estévez] 15-07-2008 09:37:17

Cita:

Empezado por Omega (Mensaje 300322)
¿Y mostrar una imagen seria posible?

Cita:

Empezado por roman (Mensaje 300359)
En lugar de mtCustom en el segundo parámetro, puedes poner mtError, mtWarning, mtInformation o mtConfirmation.

Yo entiendo que Omega se refiere justo a lo contrario Román; A poner una imagen que no sea una de las estandard.

Si es así, basta con acceder al componente de Image:

Código Delphi [-]
      img := TImage(AMsgDialog.FindComponent('Image'));

Y cargar en ella desde un recurso o desde disco la imagen que desees.

roman 15-07-2008 15:59:42

Tienes razón Neftalí. Pero hay que tener cuidado, porque el formulario en sí no contiene ningún TImage, sino que lo crea e inserta la misma función CreateMessageDialog en caso de que el segundo parámetro sea distinto de mtCustom, así que habría que especificar uno cualquiera, digamos mtWarning, y sustituir la imagen como indicas.

También podría uno mismo crear un TImage pero creo que es más complicado porque la función es la que hace el cáculo de medidas para saber dónde coloca el texto.

// Saludos

JUGUE 27-02-2009 17:28:49

Hola A todos.
Quiero Decirles Que Probe este metodo, pero al cambiar mtCustom por mtWarning me sale la imagen ... Pero no me asume las modificaciones en el Label, como el color y tamaño de la fuente, No se si es que falte algo o no se que pase... Gracias.


La franja horaria es GMT +2. Ahora son las 06:51:00.

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