Hallo Forum!
Ich habe mal wieder ein kleines Problem mit Rave!
Ich möchte Text mit zur Laufzeit selbst generierten Fonts erzeugen. Die Fonts erzeuge ich so:
Delphi-Quellcode:
MyFont := TFont.Create;
MyFont.Handle := Windows.CreateFont(24, 10, 0, 0, FW_BOLD, 0, 0, 0,
ANSI_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY,
FIXED_PITCH + FF_MODERN, 'Courier New');
Dann weise ich sie z.B. den Edit-Feldern auf dem Formular zu:
Edit1.Font.Assign(MyFont);
Das Edit-Objekt benutzt daraufhin den Font völlig Problemlos.
Nun weise ich den Text-Objekten im Rave-Report die gleichen Fonts zu:
Delphi-Quellcode:
MyPage := FindRaveComponent('Report1.Page1',nil) as TRavePage;
if MyPage <> nil then
begin
MyRaveText := FindRaveComponent('DataText1',MyPage) as TRaveText;
if MyRaveText <> nil then
MyRaveText.Font.Assign(MyFont);
Wenn ich den Report nun ausführe, erhalte ich zwar Texte mit einem Font aus der angegebenen Familie (hier: 'Courier New'), aber nicht annähernd das, was die Edit-Felder auf dem Formular zeigen !!
Das überrascht mich ehrlich gesagt ein wenig.
Ich dachte Rave benutzt auch nur Windows-
API-Funktionen um Text darzustellen.
Ich lege mal ne Zip-Datei des Beispielprojektes bei.
Ich benutze übrigens
Delphi 2005 Pro mit Rave BE 6.0.1
Und bevor jemand fragt:
Ja, es müssen unbedingt diese hässlichen Fonts sein!
Bin für jede Hilfe sehr dankbar!!
So long,
Jürgen
Der weiß, daß er nichts weiß, wie alle anderen auch nichts wissen.
Nur weiß er, was die anderen und auch er selbst noch lernen müssen.
(Novalis 1772 - 1801)