![]() |
Image und CreateFont
Moin Leute :hi:
ich habe da ein Problem mit dem Zeichensatz. Ich möchte in meiner Konsolendarstellung den Zeichensatz so groß wählen, wie es am besten in das Fenster passt. Beim Drucken kann ich mittels CreateFont und SelectObject einen Zeichensatz meiner Wahl erstellen und verwenden. Nun möchte ich z.B. 8 Pixel breit und 12 Pixel hoch mit "Courier New" zeichnen.
Delphi-Quellcode:
Sieht soweit gut aus, leider wird mit einem anderen Zeichensatz gezeichnet. Ich habe mal nach "CreateFont Image" gesucht und nichts gefunden.
var
lCV : TCanvas; lHFont, lHFontOld : THandle; lFontname : string; lCV := ImageConsole.Canvas; lFontname := 'Courier New'; lHFont:=CreateFont(lChHeight ,lChWidth ,0//Winkel ,0 ,300 ,0 ,0 ,0 ,OEM_CHARSET ,OUT_RASTER_PRECIS//OUT_TT_PRECIS//FF_Roman ,CLIP_STROKE_PRECIS//$10 ,FIXED_PITCH//2 ,FF_MODERN ,@lFontname[1]); lHFontOld := SelectObject(lCV.Handle,lHFont); lCV.TextOut(0,0,'Hallo'); SelectObject(lCV.Font.Handle,lHFontOld); DeleteObject(lHFont); Kann mir jemand helfen? |
AW: Image und CreateFont
Kann man überhaupt in einer Konsole mit deinem angegebenen Font schreiben (zeichnen) ?
Glaube nicht! Consolas.. Lucida Console Rasterschriftart.. Versuchs mal damit ;) gruss |
AW: Image und CreateFont
Das gibts bei mir, oder bei OBI <grins>. Ich habe mir einen virtuellen Bildschirmspeicher programmiert wo ich auch Write und WriteLn hin umleite. Aus diesem Speicher möchte ich nun in ein Image meine eigene Konsole zeichnen. Leider klappt das mit der Zeichensatzwahl nicht. Mache ich das über Canvas.Font.Name kann ich nur eine Größe angeben, aber nicht Breite und Höhe frei in Pixel.
|
AW: Image und CreateFont
Zitat:
Das ist was anderes. Hmm bei mir funktioniert das .. Beispiel aus meinem ListBox Control
Delphi-Quellcode:
Ob es dir was bringt keine Ahnung ;)
FListFont := CreateFont(nPointSize, 0, 0, 0,
FW_BOLD, 0, 0, 0, ANSI_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS, PROOF_QUALITY, DEFAULT_PITCH, FontName); DrawText(DC, Text, Length(Text), Rect, DT_CALCRECT or DT_EXPANDTABS or DT_NOPREFIX); PS: Ach so vergessen..
Delphi-Quellcode:
Nicht string ;)
FontName: PAnsiChar;
gruss |
AW: Image und CreateFont
Ich habe mein Vorhaben mal kurz auf PaintBox umgestellt. Nun wird der Zeichensatz von der Größe her richtig ausgegeben, aber nicht als OEM. So lasse ich dem Benutzer die Wahl der Schriftgröße und arbeite über Canvas.Font.Name und gut.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz