Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Farbe von showmessage ändern (https://www.delphipraxis.net/40287-farbe-von-showmessage-aendern.html)

Muetze1 14. Feb 2005 17:00

Re: Farbe von showmessage ändern
 
Moin!

So schwer ist das doch nicht...

Delphi-Quellcode:
procedure CustomMessage(Text: string; FormColor, LabelColor: TColor);
var
  Messagelabel: TLabel;
  MessageButton: TButton;
  MessageForm : TForm;
begin
  MessageForm := TForm.Create(nil);
  Messagelabel := TLabel.Create(MessageForm);
  MessageButton := TButton.Create(MessageForm);

  with MessageForm do
   begin
    Color  := FormColor;
    Caption := application.Title;
    SetBounds((Screen.Width - MessageForm.Width) div
     2, (Screen.Height - MessageForm.Height) div 2,MessageForm.Width,
      MessageForm.Height);
    BorderIcons := [biSystemMenu];
    BorderStyle := bsdialog;
    Height     := 110;
   end;


  with Messagelabel do
   begin
    Caption   := Text;
    Font.Color := LabelColor;
    Parent    := MessageForm;
    Top       := 15;
   end;

  with MessageButton do
   begin
    Caption := 'OK';
    Parent := MessageForm;
    Top    := 40;
    ModalResult := mrOk;
    Default := True;
    Cancel := True;
   end;

  MessageForm.Width := 75 + MessageLabel.Width;
  MessageButton.Left := MessageForm.Width div 2 - Messagebutton.Width div 2;
  MessageLabel.Left := MessageForm.Width div 2 - MessageLabel.Width div 2;
  MessageForm.ShowModal;
  MessageForm.Free;
end;
Das ist alles.

MfG
Muetze1

shmia 14. Feb 2005 17:38

Re: Farbe von showmessage ändern
 
Mit der Verwendung von CreateMessageDialog lässt sich viel einiges aus der VCL wiederverwenden:
Delphi-Quellcode:
function MessageDlgPosHelpWithColor(const Msg: string; DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer;
  const HelpFileName: string; DlgColor:TColor): Integer;
begin
  with CreateMessageDialog(Msg, DlgType, Buttons) do
    try
      Color := DlgColor;
      HelpContext := HelpCtx;
      HelpFile := HelpFileName;
      if X >= 0 then Left := X;
      if Y >= 0 then Top := Y;
      if (Y < 0) and (X < 0) then Position := poScreenCenter;
      Result := ShowModal;
    finally
      Free;
    end;
end;

ReDoX 14. Feb 2005 21:07

Re: Farbe von showmessage ändern
 
@ Muetze1 :
Ok so schwere war das wirklich nicht :nerd:.
Danke

@ shmia :
das ist viel einfacher als meins danke!
Mfg ReDoX


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:05 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz