Autor Beitrag
Lemon
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 96

Win XP
D5 Standart
BeitragVerfasst: Sa 03.04.04 12:31 
hallo,

habe mit folgendem code versucht, die textausgabe auf den den drucker zu drehen.
das ganze habe ich auch schon fuer stringgrids eingesetzt, und da funktioniert das ohne probleme. nur beim drucker tut sich da nichts. da wird der text ganz normal ausgedruckt.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
var
  lf : TLogFont;
  schrift : TFont;
  ...
  Canvas.Font := stringgrids[gridindex].Font;
  Canvas.Font.Size := 10;
  schrift := TFont.Create;
  try
    schrift.Assign(Canvas.Font);
    GetObject(schrift.Handle, sizeof(lf), @lf);
    lf.lfEscapement := 900;
    lf.lfOrientation := 900;
    schrift.Handle := CreateFontIndirect(lf);
    Canvas.Font.Assign(schrift);
    Canvas.TextOut(links,oben, stringgrids[gridindex].Cells[0,1]);
  finally
    schrift.free;
  end;
  ...


kann mir da vielleicht jemand weiterhelfen??

vielen dank schon mal im vorraus.
Simon Joker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 236
Erhaltene Danke: 1



BeitragVerfasst: Mo 05.04.04 10:27 
Hi

Soviel ich weis funktioniert das nur mit TrueType-Schriften. Über prüfe, ob du eine solche verwendest.
Lemon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 96

Win XP
D5 Standart
BeitragVerfasst: Di 06.04.04 11:10 
erst einmal danke.
das mit der True Type Font hat gestimmt.
ich habe mal die ganze ausgabe auf ein timage gelegt, um zu testen, ob das geht.
ist auch der fall. der text wird gedreht.
beim drucken jedoch passiert wieder gar nichts.
kann das am drucker oder drucken selbst liegen???
Lemon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 96

Win XP
D5 Standart
BeitragVerfasst: Sa 01.05.04 18:23 
nachdem ich mein programm jetzt erst einmal so weiterprogrammiert habe, waere es doch wichtig, dass ich es hinbekomme den text gedreht zu drucken.
hat vielleicht irgendjemand eine loesung, idee oder sogar ein fertiges script, mit dem ich das problem loesen koennte????
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: So 02.05.04 12:17 
du könntest die Schrift in ein TBitmap rendern und sie dann mit CopyRect auf den Drucker-Canvas kopieren, das sollte funktionieren
Dem bitmap gibst du mit textWidth die richtige breite (unterfunktion vom canvas)
könnte allerdings mit der auflösung etwas problematisch werden....

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
Lemon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 96

Win XP
D5 Standart
BeitragVerfasst: Mo 03.05.04 19:42 
allerdings stellt sich mir immernoch die frage, warum die gedrehte textausgabe beim drucken nicht funktioniert.
ich meine, ob ich das mit image oder printer mache ist doch eigentlich egal.
beide benutzen zur textausgabe canvas.textout, also duerfte es doch eigentlich keinen unterschied geben, oder???
ich faende es schon gut, wenn das irgendwie in diese richtung ginge...
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: Mo 03.05.04 20:44 
canvas.textout ist zwar beide male im vordergrund, doh geschehen im Hintergrund zum teil grundverschiedenen dinge, aber dank oder wegen der vcl und der api kriegt man als delphi-programmierer davon nicht viel mit

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
Lemon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 96

Win XP
D5 Standart
BeitragVerfasst: Di 04.05.04 12:03 
das heisst also, dass es da nichts zu ruetteln gibt.
oder hat vielleicht jemand mal das gleiche probiert und ich mache einfach nur irgendwo einen fehler???