Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi AngleTextOut funktioniert bei Delphi 2009,bei Delphi 6 nicht (https://www.delphipraxis.net/149160-angletextout-funktioniert-bei-delphi-2009-bei-delphi-6-nicht.html)

sarte 15. Mär 2010 19:37


AngleTextOut funktioniert bei Delphi 2009,bei Delphi 6 nicht
 
Hi Leute,
ich verstehe was nicht. Diese Funktion:
Delphi-Quellcode:
procedure TDiagramm.AngleTextOut(const sText: String; x, y, angle:integer);
var
  LogFont: TLogFont;
  SaveFont: TFont;
begin
  SaveFont := TFont.Create;
  SaveFont.Assign(Image1.Canvas.Font);
  GetObject(SaveFont.Handle, sizeof(TLogFont), @LogFont);
  with LogFont do
    begin
      lfEscapement := angle *10;
      lfPitchAndFamily := FIXED_PITCH or FF_DONTCARE;
    end; {with}
  Image1.Canvas.Font.Handle := CreateFontIndirect(LogFont);
  SetBkMode(Image1.Canvas.Handle, TRANSPARENT);
  Image1.Canvas.TextOut(x, y, sText);
  Image1.Canvas.Font.Assign(SaveFont);
  SaveFont.Free;
end;
Image1 ist vom Typ TImage und ist beim Privatbereich gespeichert.

So bei Delphi 2009 (zu Hause) geht diese Funktion wunderbar, wenn ich aber in der Schule bin mit Delphi 6 und die Exe erstelle, dann geht die Funktion nicht. Es passiert nichts, die Schrift bleibt bei 0 Grad. Aber, wenn ich z.b. den Charset von der Font auf eine andere Stelle (nicht alles geht, aber z.b. auf russisch) dann geht es plötzlich. Die Schrift sieht aber nicht sehr scharf aus... also sehr unschön.
Woran kann es liegen? Liegt es an Delphi 6 oder sogar an Windows XP? Da ich zu Hause Windows 7 habe. Und im Internet gibt es auch andere Funktionen, aber keine funktioniert bei Delphi 6 ohne den Charset zu ändern.....

Danke

daywalker9 15. Mär 2010 19:45

Re: AngleTextOut funktioniert bei Delphi 2009,bei Delphi 6 n
 
Das wird wahrscheinlich an der Schriftart liegen. Nur True-Type Schriften unterstützen das Drehen.

sarte 15. Mär 2010 19:51

Re: AngleTextOut funktioniert bei Delphi 2009,bei Delphi 6 n
 
Zitat:

Zitat von daywalker9
Das wird wahrscheinlich an der Schriftart liegen. Nur True-Type Schriften unterstützen das Drehen.

Kannst du mir sagen was True-Type Schriften sind? Kann ich die nachträglich installieren oder wie kann ich das machen, dass es sauberer auf Delphi 6 aussieht?
Danke schonmal :)

daywalker9 15. Mär 2010 20:21

Re: AngleTextOut funktioniert bei Delphi 2009,bei Delphi 6 n
 
Wenn du unter Systemsteuerung dir die Fonts anguckst, dort siehst du ob es TrueTyp Fonts sind. Probier mal Arial aus, das ist eigentlich auch auf XP ein True Type Font

sarte 15. Mär 2010 20:25

Re: AngleTextOut funktioniert bei Delphi 2009,bei Delphi 6 n
 
Zitat:

Zitat von daywalker9
Wenn du unter Systemsteuerung dir die Fonts anguckst, dort siehst du ob es TrueTyp Fonts sind. Probier mal Arial aus, das ist eigentlich auch auf XP ein True Type Font

Werde ich machen! Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:19 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