Seite 1 von 1
Fontsize ändern aber wie?
Verfasst: 18.10.2006 23:34
von Peloka
Um eine Tabelle (Liste) auszudrucken habe ich mich mal mit der
Print_sideways2.pb aus der Lib befasst. Gefällt mir eigentlich auch ganz gut, aber...
Wie bekomme ich eine andere Schriftgröße hin ?
Da Print_sideways2.pb auf die API zugreift, von der ich keine Ahnung habe und den Standard-Drucker verwendet, habe ich eine vordefinierte Schriftgröße die ich nich gebrauchen kann. (zu groß)
Also ich will nicht die Voreinstellung ändern, sondern nur die Einstellung für diesen Ausdruck.
PB3.94 Win Me
Verfasst: 19.10.2006 16:57
von Konne
N link zu dem source wäre net schlecht .
Verfasst: 19.10.2006 21:09
von Peloka
Hier der Code in abgewandelter Form
Code: Alles auswählen
TeleText.s = "Dieses ist ein Test"
r.l = Len(TeleText)
Firstline.s = "Kanati is a nice guy And such a pleasure To talk To."+ Chr(10)+"test"
x.l = Len(Firstline)
STDPrinterName$ = Space(260)
GetPrivateProfileString_("WINDOWS","DEVICE","", @STDPrintername$, 260, "Win.Ini")
STDPrintername$ = StringField(STDPrintername$, 1,",")
PrinterHandle.l = 0
OpenPrinter_(StdPrintername$,@PrinterHandle.l,0)
Dim DevIn.DEVMODE(0)
Dim DevOut.DEVMODE(0)
DocumentProperties_(0,Printerhandle,StdPrintername$,DevIn(0),DevOut(0),#DM_OUT_BUFFER|#DM_IN_BUFFER)
ClosePrinter_(PrinterHandle)
If DevIn(0)\dmOrientation = 1
MessageRequester("Printer Orientation","Landscape Mode",0)
ElseIf DevIn(0)\dmOrientation = 2
MessageRequester("Printer Orientation","Portrait Mode",0)
EndIf
DevIn(0)\dmOrientation = 2; Set to Landscape mode and print results
PrinterDC.l = CreateDC_("WINSPOOL",StdPrintername$,0,DevIn(0))
DocInf.DOCINFO
DocInf\cbSize = SizeOf(DOCINFO)
DocInf\lpszDocName = @"Liste"
DocInf\lpszOutput = #Null
If StartDoc_(PrinterDC,@DocInf) > 0
If StartPage_(PrinterDC) > 0
TextOut_(PrinterDC,10,10,@Firstline,x) ;hdc,xStart,yStart,@"String",lenString
For i = 1 To 45
TextOut_(PrinterDC,10,i*100,@TeleText,r)
Next i
EndPage_(PrinterDC)
EndDoc_(PrinterDC)
EndIf
EndIf
Wie gesagt, der Ausdruck ist mir zu groß.