Deutsch
Forum

DrawText Format% rechtsbuendig im Querformat! XPROFAN X2a

 

GC57
Die erweiterte Funktion DrawText:
DrawText x%, y%, dx%, dy%, Text$, Format%
funktioniert ausgezeichnet.

Aber was mache ich wenn ich im Querformat drucken will?
Das Format% (2) druckt immer noch rechtbuendig; was im Querformat (Orientation 900) bedeutet; das der Text wieter unten gedruckt wird.

Gibt es da eine Loesung?
Vielen Dank im voraus.
 
07.07.2011  
 



Vlt. hilft Dir...
KompilierenMarkierenSeparieren
'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

endProc

... hab ein Beispiel von Andreas Miethe etwas angepasst

... probiere Dein DrawText mal in die Funktion printDaZeugs abzulegen.
 
08.07.2011  
 




GC57
Danke fuer the Info.

Ich hab das mal versucht. Kriege aber immer eine leere Seite wenn ich DrawText einbinde.
 
08.07.2011  
 



Jo, bei mir gehts.

Zeigste halt mal den Code.
 
08.07.2011  
 



Zeig doch mal Deinen Code -

kann man ja sonst nicht so gut helfen.
 
08.07.2011  
 




GC57

KompilierenMarkierenSeparieren
CLS
'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
WAITINPUT

Hier mal ein kleines Beispiel:
Fuer den Druck kann StartPrint and Endprint eingefuegt werden; ist aber fuer die Funktion nicht wichtig. Das passiert auch in der Bildschirmausgabe.

Danke nochmals.
 
08.07.2011  
 



Kannst die Breite selbst subtrahieren: [...] 
 
08.07.2011  
 



iF;Das sieht interessant aus!

Allerdings kriege ich auch das nicht im Querformat hin.
Es scheint das die Zeichengroesse irgendwie anders ist.

Aber ich spiele domit noch ein wenig mehr rum.

Danke nochmals.
 
08.07.2011  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

9.656 Betrachtungen

Unbenanntvor 0 min.
H.Brill23.09.2023
RudiB.19.04.2022
Sebald Grandjean16.02.2018
Wilfried02.06.2016
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

iF (4x)
GC57 (3x)
unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie