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ß.