Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Se puede hacer rotar los showmessages entre los botones ??? (https://www.clubdelphi.com/foros/showthread.php?t=72055)

llSnakell 25-01-2011 23:00:35

Se puede hacer rotar los showmessages entre los botones ???
 
Hola

Lo que pasa es que estoy haciendo un Programa con mensajes y botones.
Lo que quiero realizar es que los mensajes que aparareceran al presionar los botones , vayan cambiando de botones !! Para que al apretar un boton no aparesca el mismo mensaje .

Se podra ??

Gracias

Saludos !

ecfisa 25-01-2011 23:03:31

Hola.

Sobre la pregunta del título, la respuesta es no. ShowMessage es un procedimiento cuya ventana no tiene esa capacidad.

En cuanto a el mensaje, no entiendo muy bién esta parte
Cita:

al presionar los botones , vayan cambiando de botones
podrías explicarlo un poco más o con algún ejemplo ?

Un saludo.

llSnakell 25-01-2011 23:12:49

Hola

A lo que me refiero es:

Ejemplo

Tenemos 2 botones diferentes, con diferentes showmessages cada uno.
lo que quiero es que el Showmessage del 1° boton cambie al 2° boton, el Showmessage del 2° boton cambie al 1° , eso es !!!

pero lo que intento hacer es con 20 botones xD :P

Gracias

Saludos. ;)

ecfisa 25-01-2011 23:20:06

Hola de nuevo.

Fijate si este [ Truco ] que hizo Lord Delfos te sirve o te dá una idea.

Otra opción es que hagas tu propio cuadro de diálogo, al fin y al cabo es sólo otro form...

Un saludo.

Neftali [Germán.Estévez] 26-01-2011 13:11:34

Bueno, se pueden hacer cosas básicas; Cambiar algunas propiedades y ñadir algunos controles nuevos, pero si tienes que cambiar demasiado, tal vez es mejor que te crees un formulario personalizado.

Por ejemplo, con esto muestras un dialogo "estandard":



Código Delphi [-]
procedure TForm1.Button4Click(Sender: TObject);
var
  AMsgDialog: TForm;
  res:TModalresult;
begin
  AMsgDialog := CreateMessageDialog('Mensaje de prueba...', mtWarning, [mbYes, mbNo]) ;
  res := AMsgDialog.ShowModal;
end;

Con este código puedes apreciar algunos cambios, incluso puedes añadir algun componente nuevo (en este caso un checkbox):

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
  AMsgDialog: TForm;
  res:TmodalResult;
  lbl:Tlabel;
  btn:TButton;
  img:TImage;
  chk:TCheckBox;
begin
  AMsgDialog := CreateMessageDialog('Mensaje de prueba...', mtWarning, [mbYes, mbNo]) ;
  AMsgDialog.Caption := 'Cambiando título...' ;

  // Cambiar el ancho
  AMsgDialog.Width := AMsgDialog.Width * 2;

  // Modificar el Label
  lbl := TLabel(AMsgDialog.FindComponent('Message'));
  lbl.Font.Style := lbl.Font.Style + [fsItalic];
  lbl.Font.Color := clRed;

  // Modificar el YES
  btn := TButton(AMsgDialog.FindComponent('YES'));
  btn.Font.Style := btn.Font.Style + [fsBold];

  // Modificar la imagen
  img := TImage(AMsgDialog.FindComponent('Image'));
  img.Stretch := true;
  img.Picture.LoadFromFile('r:\neftali.bmp');

  // Añadir un CheckBox
  chk := TCheckBox.Create(AMsgDialog);
  chk.Parent := AMsgDialog;
  chk.Caption := 'No volver a &recordarmelo.';
  chk.Width := 200;
  AMsgDialog.Height := AMsgDialog.Height + 30;
  chk.Left := 15;
  chk.Top := AMsgDialog.Height - 20 - 30;


  res := AMsgDialog.ShowModal;

  AMsgDialog.Free;

end;



La franja horaria es GMT +2. Ahora son las 12:25:21.

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