Einzelnen Beitrag anzeigen

n0b0dy

Registriert seit: 12. Sep 2005
Ort: Hessen
268 Beiträge
 
#1

MessagBox in anderer Schriftart

  Alt 20. Sep 2005, 20:02
Hi Leute,

ich habe eigentlich einfach nur vor, die Schriftart einer stinknormalen MessageBox zu ändern.
unten bei dem großen Pfeil wird die Schriftart für das Label geändert. So, nun hab ich noch ne stelle markiert und zwar die, wo, wie ich denke, die größe für den textbereich festgelegt wird...

naja auf jeden fall kommt es vor, dass bei veränderter schriftart, der text nicht vollständig auf der messagebox sichtbar ist. also abgeschnitten ist. und das möchte ich verhindern. habe probiert beim Label Autosize:=True anzuwenden, jedoch ohne erfolg. der text wird ja auch wahrscheicnlich durch das TextRect begrenzt.. So sehe ich das zumindest.
naja auf jeden fall funzt das net und bräuchte dringend hilfe. hat da jemand eine idee?

Hier ein auszug der Dialogs.pas:
Delphi-Quellcode:
function CreateMessageDialog(const Msg: string; DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons): TForm;
  ...

        if ButtonWidths[B] = 0 then
        begin
          TextRect := Rect(0,0,0,0); <----------------------------------------------
          Windows.DrawText( canvas.handle,
            PChar(LoadResString(ButtonCaptions[B])), -1,
            TextRect, DT_CALCRECT or DT_LEFT or DT_SINGLELINE or
            DrawTextBiDiModeFlagsReadingOnly);
  ...
    TMessageForm(Result).Message := TLabel.Create(Result);
    with TMessageForm(Result).Message do
    begin
      Name := 'Message';
      Font.Name := 'Verdana//Default ist wohl Tahoma <-----------------------------------
      Parent := Result;
      ALeft := IconTextWidth - TextRect.Right + HorzMargin;
      if UseRightToLeftAlignment then
        ALeft := Result.ClientWidth - ALeft - Width;
      SetBounds(ALeft, VertMargin,
        TextRect.Right, TextRect.Bottom);
    end;
   ...
  end;
end;

Ciao
Gruß Fabi
  Mit Zitat antworten Zitat