| |
|
|
GC57 | qui Avancé Funktion DrawText: DrawText x%, y%, dx%, dy%, Text$, Format% funktioniert ausgezeichnet.
mais quoi fais je si je im Querformat drucken veux? cela Format% (2) druckt toujours rechtbuendig; quoi im Querformat (Orientation 900) bedeutet; cela qui Text wieter unten gedruckt wird.
Gibt es là une Loesung? Vielen Dank d'avance. |
|
|
| |
|
|
|
| Vlt. hilft Dir... KompilierenMarqueSéparation'URL: https://xprofan.com/intl/de/quelltexte/druckausgabe-querformat/
'XProfan Querformat - Druckausgabe von Andreas Miethe
'##################
$H windows.ph
DEF Get_STDPrinter(1) Substr$(ReadIni$("WIN.INI","Windows","Device"),@&(1),",")
DEF OpenPrinter(3) !"WINSPOOL.DRV","OpenPrinterA"
DEF ClosePrinter(1) !"WINSPOOL.DRV","ClosePrinter"
DEF DocumentProperties(6) ! "WINSPOOL.DRV","DocumentPropertiesA"
CLS
Declare STDPrinterName$
STDPrinterName$ = Get_STDPrinter(1)'name des Standard-Druckers ermitteln
Declare PrinterHandle&
OpenPrinter(Addr(STDPrinterName$),Addr(PrinterHandle&),0)'PrinterHandle ermitteln
Declare BufferSize&,DevIn#
BufferSize& = DocumentProperties(%hwnd,PrinterHandle&,Addr(STDPrinterName$),0,0,0)'Buffergroes se fuer Devmode-Struktur ermitteln
Dim DevIn#,BufferSize&
DocumentProperties(0,PrinterHandle&,Addr(STDPrinterName$),DevIn#,0,$13)'Devmode- Struktur fuellen
ClosePrinter(PrinterHandle&)'Printerhandle wird nicht mehr benoetigt
Declare PrinterDC&
Long DevIn#,44 = 2'Orientation auf Querdruck setzen
PrinterDC& = ~CreateDC("WINSPOOL",Addr(STDPrinterName$),0,DevIn#)'Drucke-Device-Context
'Docinfo-Struktur anlegen und fuellen
Declare DocInf#,Docname$
Dim DocInf#,12
Long DocInf#,0 = 12
Docname$ = "Mein Dokument"
Long DocInf#,4 = Addr(Docname$)
Long DocInf#,8 = 0
'Druckausgabe per API
If ~StartDoc(PrinterDC&,DocInf#) > 0
If ~StartPage(PrinterDC&) > 0
printDaZeugs(printerDC&)
//~TextOut(PrinterDC&,60,70,"Querdruck",9)
~EndPage(PrinterDC&)
~EndDoc(PrinterDC&)
Endif
Endif
Print "Fertig mit drucken"
waitinput
Dispose DevIn#
Dispose DocInf#
END
proc printDaZeugs
parameters dc&
var maxx&=~GetDeviceCaps(dc&,~HORZRES)
var maxy&=~GetDeviceCaps(dc&,~VERTRES)
startPaint dc&
usepen 0,0,$FF0000
useBrush 1,$00FF00
rectangle 0,0 - maxx&,maxy&
endPaint
./../funktionsreferenzen/XProfan/endproc/'>endProc
... hab un Beispiel de Andreas Miethe quelque chose angepasst
... probiere Dein DrawText la fois dans qui Funktion printDaZeugs abzulegen. |
|
|
| |
|
|
|
GC57 | merci pour le Info.
nie gemacht la fois versucht. Kriege mais toujours une le vide page si je DrawText einbinde. |
|
|
| |
|
|
|
| Jo, chez mir gehts.
Zeigste arrêt la fois den Code. |
|
|
| |
|
|
|
| Zeig doch la fois Deinen Code -
peux on oui sonst pas si bien aider. |
|
|
| |
|
|
|
GC57 | KompilierenMarqueSéparationCLS
'Beispiel
'Normal Format Correct
UseFont "Arial",12,0,0,0,0
DrawText 100,100,300,120,"LINKS",0
DrawText 100,120,300,140,"RECHTS",2
WAITINPUT
'Beispiel
'Querformat
@Set("Orientation",900)
UseFont "Arial",12,0,0,0,0
DrawText 100,300,120,100,"LINKS",0
DrawText 120,300,140,100,"RECHTS",2
PUT
ici la fois un kleines Beispiel: Fuer den Druck peux StartPrint and Endprint eingefuegt werden; ist mais pour qui Funktion pas important. cela passiert aussi dans qui Bildschirmausgabe.
merci nochmals. |
|
|
| |
|
|
|
| peux qui Breite selbst subtrahieren: [...] |
|
|
| |
|
|
|
| iF;Das sieht intéressant aus!
Allerdings kriege je aussi cela pas im Querformat hin. Es scheint cela qui Zeichengroesse irgendwie anders ist.
mais je spiele domit encore un peu plus rum.
merci nochmals. |
|
|
| |
|
|