@TS-Soft hat eine RichEdit.pbi zur Verfügung gestellt.
http://forums.purebasic.com/german/view ... f43b5d9b1f
Allerdings, wenn man im Editorgadget die Seitenränder (SetLeftMargin) gesetzt hat
und den Text ausdruckt, ist die Formatierung weg.
Wie kann man einen Ausdruck mit Berücksichtigung der Seitenränder erstellen?
Ausdrucken mit der RichEdit.pbi
Ausdrucken mit der RichEdit.pbi
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Re: Ausdrucken mit der RichEdit.pbi
Ich habe hier mal ein Testcode, der das Problem verdeutlicht.
Wenn man auf den Button "Setze linken Seitenrand" klickt, wird der gesamte Text nach rechts verschoben.
Klickt man auf den Button "Drucken", wird der Text zwar ausgedruckt, aber nicht mit Seitenrand.
Wichtig für mich wäre auch, ob dieser Effekt bei euch auch auftritt?
Wenn man auf den Button "Setze linken Seitenrand" klickt, wird der gesamte Text nach rechts verschoben.
Klickt man auf den Button "Drucken", wird der Text zwar ausgedruckt, aber nicht mit Seitenrand.
Wichtig für mich wäre auch, ob dieser Effekt bei euch auch auftritt?
Code: Alles auswählen
EnableExplicit
XIncludeFile "..\RichEdit.pbi"
Define.RichEdit Edit; Objectvariable für unser RTF-Control
Define.i a
Enumeration
#lseitenrand
#drucken
EndEnumeration
If OpenWindow(0,0,0,500,250,"RichEdit-Example - Drucktest",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
Edit = New_RichEdit(10,10,480,200)
ButtonGadget(#lseitenrand, 10,220,150,20,"Setze linken Seitenrand")
ButtonGadget(#drucken,390,220,100,20,"Drucken")
For a=1 To 10
AddGadgetItem(Edit\GetID(),-1,"Probetext zum Ausdrucken",0,0)
Next
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
Select EventGadget()
Case #lseitenrand
Edit\SetLeftMargin(100) ;Linken Seitenrand setzen
Case #drucken
Edit\Print() ;und Text ausdrucken
EndSelect
EndSelect
ForEver
Else
Debug "Kann Fenster nicht öffnen!"
EndIf
End
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Re: Ausdrucken mit der RichEdit.pbi
das ist so ..der zugefügte Seitenrand fehlt im Druck
Du kannst den Text aber mit Indent(...) einrücken, musst Du nur vorher alles markieren
und danach wieder entmarkieren
Du kannst den Text aber mit Indent(...) einrücken, musst Du nur vorher alles markieren
und danach wieder entmarkieren
Code: Alles auswählen
..
..
Case #lseitenrand
Edit\SelectAll()
Edit\Indent(5) ;Linken Seitenrand setzen durch indentieren, oder wie das Verb auch immer heissen mag
Edit\Unselect()
..
..
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Re: Ausdrucken mit der RichEdit.pbi
oder du tunst die Print Routine
Code: Alles auswählen
..
OffsetX = GetDeviceCaps_(DC, #PHYSICALOFFSETX) +200 ;willkürlich um 200 nach rechts verschoben macht auch einen Rand
..
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Re: Ausdrucken mit der RichEdit.pbi
Hallo @bobobo,
Werde es ausprobieren.
Danke
Das scheint mir die Lösung zu sein.oder du tunst die Print Routine
Werde es ausprobieren.
Danke
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9