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