vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Re: RTF-Druckvorschau 
Autor: Dirk
Datum: 08.05.02 12:24

Danke Norbert,

aber der Tip hilft mir nicht wirklich weiter.

Folgende Situation habe ich:

1) die RTF-Box dem Druckbild anpassen mit

uLineWidth = .pic_Container.ScaleX(oSeitenBreite, vbMillimeters, vbTwips) - _
.pic_Container.ScaleX(oRandLinks, vbMillimeters, vbTwips) - _
.pic_Container.ScaleX(oRandRechts, vbMillimeters, vbTwips)

' Einen hDC vom Drucker erstellen für die RTB in WYSIWYG
uDC = CreateDC(Printer.DriverName, Printer.DeviceName, 0, 0)

' Der RTF sagen das sie sich dem Druckbild anpassen soll (WYSIWYG)
u = SendMessage(RTF.hwnd, EM_SETTARGETDEVICE, uDC, ByVal uLineWidth)

Hiermit Stimmt die Darstellung der RTF-Box mit dem Druckbild überein, d.h Zeilenumbrüche werden automatisch gesetzt, wenn ein Zeile von ihrer Länge die zugewiesenden Breite, abhängig von der eingestellten Schriftart, überschreitet.

2) Drucken auf Drucker
Es funktioniert, wenn ich mit folgender Vorgehensweise Drucke

Call SichtbereichePlot 'Druckbaren Bereich mit Rändern einstellen, incl der physikalischen Ränder des Druckers

Printer.Print ""
fr.hdc = Printer.hdc
fr.hdcTarget = Printer.hdc
fr.chrg.cpMin = uStartPosition(n) 'Beginnzeichen für den Druck bestimmen
fr.chrg.cpMax = -1&
uNextCharPosition = SendMessage(RTF.hwnd, EM_FORMATRANGE, 1&, fr)
'uNextCharPosition => ZeichenPosition, welches auf der nächsten Seite gedruckt würde
Printer.EndDoc

3) Drucken auf dem Picture Steuerelement

.pic_Plot.Cls
Sichtbereiche 'Druckbaren Bereich mit Rändern einstellen

'Druckinstruktionen festlegen
fr.hdc = .pic_Plot.hdc
fr.hdcTarget = .pic_Plot.hdc
fr.chrg.cpMin = uStartPosition(ShowPage)
fr.chrg.cpMax = -1


' ' Einen hDC vom Drucker erstellen für die PictureBox in WYSIWYG
' uDC = CreateDC(Printer.DriverName, Printer.DeviceName, 0, 0)
'
' ' Der PictureBox sagen das sie sich dem Druckbild anpassen soll (WYSIWYG)
'
' u = SendMessage(.pic_Plot.hwnd, EM_SETTARGETDEVICE, uDC, _
' 0&)
________________________________
und genau dieser Part funktioniert nicht, die PictureBox passt sich nicht dem Druckbild an
--------------------------------------------------------


'***Text mit EM_FORMATRANGE ausdrucken Hauptteil***
'---------------------------------
uNextCharPosition = SendMessage(RTF.hwnd, EM_FORMATRANGE, 1, fr)


Nachfolgend ein Beispiel was im Ausdruck auf dem Drucker (konform mit der Darstellung in der RTF-Box am Bildschirm) und der PictureBox passiert.
Druckbereiche / Ränder sind identisch eingestellt incl. der Berücksichtigung der physikalischen Ränder des Druckers.

EInstellungen:
SeitenBreite=210mm
SeitenHöhe=297mm
RandLinks=25mm
RandRechts=25mm
RandOben=25mm
RandUnten=25mm

Schriftart=Times New Roman
Schriftgröße = 12

Text im RTF und im Druck:

Zeile1:
Für die mein Beispiel- Projekt würde ich gerne einen Texteditor programmieren, in dem ich

Zeile2:
vergleichbare Funktionalitäten wie WordPad habe. Diesen Texteditor werde ich als

Zeile3:
Steuerelement aufbauen.


Darstellung in der PictureBox:
Zeile1:
Für die mein Beispiel- Projekt würde ich gerne einen Texteditor programmieren, in dem ich

Zeile2:
vergleichbare Funktionalitäten wie WordPad habe. Diesen Texteditor werde ich als Steuerelement

Zeile3:
aufbauen.

Die Darstellung des Textes unterscheidet sich in Zeile 2 und 3, hier findet der Zeilenumbruch an einer anderen Stelle statt.

So weit wie ich feststellen konnte, unterscheidet sich die Ausgabe des Textes im Druck und in der PictureBox vom Schriftschnitt, d.h in der PictureBox wird z.B "Times New Roman" etwas kleiner dargestellt wie im Druck.
Der RTF-Box konnte ich diesen Zustand ja noch erklären (s.oben), aber wie erkläre ich der PictureBox, das Sie sich dem Druckbild des Druckes anpassen soll ????

Ich hoffe mir kann einer helfen, Ich sitze schon fast 1 Woche an diesem Problem und werde langsam ziemlich frustig

Vielen Dank an alle die mir helfen können
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
RTF-Druckvorschau105Dirk06.05.02 14:25
Re: RTF-Druckvorschau67Norbert07.05.02 20:19
Re: RTF-Druckvorschau81Dirk08.05.02 12:24
Re: RTF-Druckvorschau63Dirk13.05.02 13:59
Re: RTF-Druckvorschau524Alexander15.12.02 16:41

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel