Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Color de fondo de un ShowMessage() (https://www.clubdelphi.com/foros/showthread.php?t=28195)

Perio 12-12-2005 22:52:26

Color de fondo de un ShowMessage()
 
Hola:
Como estan, pregunto si es posible setear el color de fondo de los mensages del sistema como el ShowMessage()....

Saludos
Perio.

[Gunman] 12-12-2005 23:39:53

Creo que el color de fondo del ShowMessage lo coge de clBtnFace, si consigues canviar que coga este valor por otro pues imagino que cogerá otro.
No lo sé, estoy hablando por sugerir ideas.

[Gunman] 13-12-2005 00:14:36

He estado buscando por las librerias de delphi, seria crearte tu propia función ShowMessage(); ve buscando todas las funciones relacionadas con esta, hasta encontrar las que definen el color, lo que pasa es que el ShowMessage() se relaciona posteriormente con TCustomForm y me imagino que si cambias el color cambiaras el color a cada form que crees...
No sé, investiga... Si te cansas de buscar:
http://www.torry.net/pages.php?id=85
He encontrado algunos interesantes...

Perio 14-12-2005 23:40:16

Gracias
 
Muchas gracias, ya mismo estoy haciendo las pruebas...

Saludos.

Perio

RicardoNavarro 05-02-2008 16:08:35

Color de Message
 
A quien le Sirva

Código Delphi [-]
function MiMensaje(XTexto, XTitulo: String): Boolean;
var
  LForm: TForm;
  CaptionIndex, i: integer;
  LNombres: array of string;
  LFondo, LColor: TColor;
  LICono: TMsgDlgType;
  LBotones: TMsgDlgButtons;
begin
  LFondo := clGreen;
  LColor := clWhite;
  LIcono := mtInformation;
  LBotones := [mbOK];
  SetLength(LNombres, 1);
  LNombres[0] := '&Cerrar';
  if XTitulo = 'Cuidado' then
    begin
      LFondo := clYellow;
      LColor := clBlack;
      LIcono := mtConfirmation;
      LBotones := [mbYes,mbNo];
      SetLength(LNombres, 1);
      LNombres[0] := '&Si';
    end
  else if XTitulo = 'Peligro' then
    begin
      LFondo := clRed;
      LColor := clYellow;
      LIcono := mtWarning;
      LBotones := [mbYes,mbNo,mbAbort];
      SetLength(LNombres, 3);
      LNombres[0] := '&Si';
      LNombres[1] := '&No';
      LNombres[2] := '&Cerrar';
    end;
  LForm := CreateMessageDialog(XTexto, LIcono, LBotones);
  LForm.Caption := XTitulo;
  LForm.Color := LFondo;
  LForm.BorderIcons := [];
  CaptionIndex := 0;
  for i := 0 to LForm.ComponentCount - 1 do
    begin
      if (LForm.Components[i] is TLabel) then
        begin
          TLabel(LForm.Components[i]).Font.Style := [fsBold];
          TLabel(LForm.Components[i]).Font.Color := LColor;
          TLabel(LForm.Components[i]).Font.Size := 12;
        end;
      if (LForm.Components[i] is TButton) then
        begin
          if CaptionIndex > High(LNombres) then
            Break;
          TButton(LForm.Components[i]).Caption := LNombres[CaptionIndex];
          Inc(CaptionIndex);
        end;
    end;
  with LForm do
    begin
      try
        ShowModal;
      finally
        Free;
      end;
    end;
  if LForm.ModalResult = mrYes then
    Result := True
  else
    Result := False;
end;


La franja horaria es GMT +2. Ahora son las 18:38:49.

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