Ausdrucken mit der RichEdit.pbi

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Ausdrucken mit der RichEdit.pbi

Beitrag von dysti »

@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?
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: Ausdrucken mit der RichEdit.pbi

Beitrag von dysti »

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?

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
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Ausdrucken mit der RichEdit.pbi

Beitrag von bobobo »

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

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.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Ausdrucken mit der RichEdit.pbi

Beitrag von bobobo »

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.
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: Ausdrucken mit der RichEdit.pbi

Beitrag von dysti »

Hallo @bobobo,
oder du tunst die Print Routine
Das scheint mir die Lösung zu sein.
Werde es ausprobieren.
Danke
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Antworten