vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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

Fortgeschrittene Programmierung
Re: PrintForm-Ersatz 
Autor: Klein-Willi
Datum: 27.02.09 17:20

Hallo Zardoz,

arbeite mit VB6.

Ich meine den von dir, auf welchem im Forum mehrfach verwiesen wird:

Option Explicit

' Benötigte API-Deklarationen
Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)

Private Sub DruckeForm()
Dim Bild As Picture
Dim Faktor1 As Single
Dim Faktor2 As Single
Dim Breite As Long
Dim Höhe As Long
Dim Korrektur As Long

Me.MousePointer = 11
' Zwischenablage löschen
Clipboard.Clear

' Screenshot der aktuellen Form erstellen
Call keybd_event(44, 0, 0, 0)
DoEvents
Call keybd_event(44, 0, 2, 0)

' Bild aus der Zwischenablage holen
Set Bild = Clipboard.GetData(vbCFBitmap)
Clipboard.Clear

' Ausdruck starten
With Printer
' Papierformat
.Orientation = vbPRORLandscape

' Farb-Einstellung
.ColorMode = vbPRCMColor

' Maßeinheit auf Pixel festlegen
.ScaleMode = vbPixels

' Breite und Höhe des Bildes in Pixel
Breite = .ScaleX(Bild.Width, vbHimetric, vbPixels)
Höhe = .ScaleY(Bild.Height, vbHimetric, vbPixels)

' Die Breite und die Höhe des bedruckbaren Bereiches wird zu
' groß angegeben (vermutlich Drucker und Druckertreiber abhängig)
' Deshalb der Wert Korrektur, damit das Bild vollständig gedruckt wird.
Korrektur = 30
Faktor1 = (.ScaleWidth - Korrektur) / Breite
Faktor2 = (.ScaleHeight - Korrektur) / Höhe
If Faktor2 < Faktor1 Then
Faktor1 = Faktor2
End If

' Bild an den Drucker schicken
.PaintPicture Bild, 0, 0, Breite * Faktor1, Höhe * Faktor1

' Ausdruck beenden
.EndDoc
End With
Set Bild = Nothing
Me.MousePointer = 0
End Sub

mfg
Willi
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
PrintForm-Ersatz1.101Klein-Willi27.02.09 10:02
Re: PrintForm-Ersatz677Zardoz27.02.09 17:02
Re: PrintForm-Ersatz763Klein-Willi27.02.09 17:20
Re: PrintForm-Ersatz670Zardoz27.02.09 22:12
Re: PrintForm-Ersatz642Klein-Willi03.03.09 20:13

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