AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Image und CreateFont

Ein Thema von MacGuyver · begonnen am 13. Apr 2011 · letzter Beitrag vom 13. Apr 2011
Antwort Antwort
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
293 Beiträge
 
Turbo Delphi für Win32
 
#1

Image und CreateFont

  Alt 13. Apr 2011, 20:15
Moin Leute

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:
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);
Sieht soweit gut aus, leider wird mit einem anderen Zeichensatz gezeichnet. Ich habe mal nach "CreateFont Image" gesucht und nichts gefunden.

Kann mir jemand helfen?
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Image und CreateFont

  Alt 13. Apr 2011, 20:35
Kann man überhaupt in einer Konsole mit deinem angegebenen Font schreiben (zeichnen) ?
Glaube nicht!

Consolas..
Lucida Console
Rasterschriftart..

Versuchs mal damit

gruss
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
293 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Image und CreateFont

  Alt 13. Apr 2011, 20:41
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.
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Image und CreateFont

  Alt 13. Apr 2011, 20:46
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.
Ah so keine reale Console wie cmd.exe
Das ist was anderes.

Hmm bei mir funktioniert das ..
Beispiel aus meinem ListBox Control

Delphi-Quellcode:
     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);
Ob es dir was bringt keine Ahnung

PS:
Ach so vergessen..
FontName: PAnsiChar; Nicht string
gruss

Geändert von EWeiss (13. Apr 2011 um 20:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
293 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: Image und CreateFont

  Alt 13. Apr 2011, 22:19
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.
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:44 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