Autor Beitrag
Aton
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 125

Windows XP
D7 Enterprise
BeitragVerfasst: Di 31.08.04 15:16 
Hallo Forum,

die MessageDlg - Funktion gibt die Mitteilung mit Schriftgröße 8 aus. Ich würde gern die etwas augenfreundlichere Schriftgröße 9 verwenden. Wenn man es nun so macht, gibt es leider ein unrühmliches Ergebnis:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
function MyMessageDlg(const Msg: string; DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons; HelpCtx: LongInt): Integer;
begin
  with CreateMessageDialog(Msg, DlgType, Buttons) do
  begin
    try
      Font.Size := 9; 
      Result := ShowModal;
    finally
      Free;
    end;
  end;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  MyMessageDlg(
    'Dies ist meine erste Zeile.'#13 +
    'Dies ist meine zweite Zeile.', mtInformation, [mbOk], 0);
end;


user defined image

Gibt es bereits eine Lösung für dieses Problem? Einfach Height und Width des Forms zu vergrößern, reicht nämlich leider nicht.

Vielen Dank,
Gruß Jens.

Moderiert von user profile iconUGrohne: Code- durch Delphi-Tags ersetzt.
Aton Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 125

Windows XP
D7 Enterprise
BeitragVerfasst: Di 31.08.04 16:01 
Habe mir mal selbst geantwortet. :lol:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
function MyMessageDlg(const Msg: string; DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons; HelpCtx: LongInt): Integer;
var
  i: Integer;
begin
  with CreateMessageDialog(Msg, DlgType, Buttons) do
  begin
    try
      for i:= 0 to ComponentCount - 1 do
      begin
        if (Components[i] is TControl) then
        begin
          { breiter machen, damit Schrift reinpasst }
          (Components[i] as TControl).Width :=
            Round((Components[i] as TControl).Width * 9 / 8);
        end;
        if (Components[i] is TButton) then
        begin
          { nach rechts verschieben und nach unten, damits mittig ist }
          (Components[i] as TButton).Left :=
            Round((Components[i] as TButton).Left * 9 / 8);
          (Components[i] as TButton).Top :=
            Round((Components[i] as TButton).Top * 9 / 8);
        end;
      end;
      Font.Size := -12;
      Width := Round(Width * 9 / 8);
      Height := Round(Height * 9 / 8);
      Result := ShowModal;
    finally
      Free;
    end;
  end;
end;


Habe einfach alle Komponenten mit dem Fakter 9/8 vergrößert. Ist zwar ziemlich hingeschustert, funktioniert aber halbwegs. :rofl:

Trotzdem würde mich interessieren, was ihr davon haltet???

Gruß Jens.

Moderiert von user profile iconUGrohne: Code- durch Delphi-Tags ersetzt.
hermit.de
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Sa 04.09.04 23:14 
Schon lustig, wie man sich manche Sachen zurecht biegen kann, nicht?
Aber Du weißt sicher, das die Schriftgröße in den Dialogen abhängig
von der jeweiligen Systemeinstellung ist.
Bei Dir mag das ja schön aussehen, ein anderer Anwender hat vielleicht eine
noch größere Schrift eingestellt ( unter Start/Einstellungen/Sytemsteuerung/Anzeige....)

Überdenke das noch mal. Beziehe die Schriftgröße der Dialoge mit ein, o.ä

Gruß hermit