Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Schriftgröße von Showmessage('') ändern (https://www.delphipraxis.net/150799-schriftgroesse-von-showmessage-aendern.html)

xxsasch4xx 27. Apr 2010 14:49


Schriftgröße von Showmessage('') ändern
 
hallo will die schriftgröße irgentwie ändern aber ich weiss nicht wie das geht
will nicht extra eine neue form machen deswegn!
vieleicht kann mir da ja einer helfen

sirius 27. Apr 2010 14:53

Re: Schriftgröße von Showmessage('') ändern
 
Showmessage ist nicht dafür gemacht einfach mal eben schnell die Schriftgröße zu ändern. Da musst du wohl eine eigene Form erstellen (gibt aber Vorlagen dafür)

xxsasch4xx 27. Apr 2010 14:56

Re: Schriftgröße von Showmessage('') ändern
 
ok, alles klar!
wär aber schön gewessen wenn man einen paramenter hätte wo man einfach mal die schriftgröße einstellen kann!

himitsu 27. Apr 2010 15:06

Re: Schriftgröße von Showmessage('') ändern
 
Das wird nicht so einfach, dann dafür müßtest du irgendwie auf den intern verwendeten TTaskMessageDialog zugreifen ... da wäre es einfacher einen eigenen Dialog zu erstellen.

- die Delphi VCL/RTL läßt sich ja schnecht ändern

- und da du so den Dialog auch noch modal anzeigst, hast du eh keine Möglichkeit nachträglich was zu ändern, da das Programm ja solange angehalten wird, wie der Dialog geöffnet ist.

uligerhardt 27. Apr 2010 16:59

Re: Schriftgröße von Showmessage('') ändern
 
Schau dir mal Delphi-Referenz durchsuchenCreateMessageDialog an. Falls du den Quellcode der VCL hast, kannst du dir auch mal reinziehen, wie ShowMessage implementiert ist.

Das könnte dann so aussehen: :mrgreen:
Delphi-Quellcode:
function MyShowMessage(const AMessage: string; AFontSize: Integer): Integer;
var
  dlg: TForm;
begin
  dlg := CreateMessageDialog(AMessage, mtInformation, [mbOK]);
  try
    dlg.Position := poScreenCenter;
    dlg.ScaleBy(AFontSize, dlg.Font.Size);
    Result := dlg.ShowModal;
  finally
    dlg.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  MyShowMessage('Blah', 48);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:57 Uhr.

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