Fontsize ändern aber wie?

Anfängerfragen zum Programmieren mit PureBasic.
Peloka
Beiträge: 34
Registriert: 16.01.2005 11:28

Fontsize ändern aber wie?

Beitrag 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
Ein Bit ist die kleinste Software-einheit, ein falsches Bit macht aus Software Bugware...
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

N link zu dem source wäre net schlecht .
Peloka
Beiträge: 34
Registriert: 16.01.2005 11:28

Beitrag 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ß.
Ein Bit ist die kleinste Software-einheit, ein falsches Bit macht aus Software Bugware...
Antworten