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

Visual-Basic Einsteiger
Re: Papierformatanpassung in VB auf A4 
Autor: Zardoz
Datum: 30.01.03 03:10

Hallo Roman,
der PrintForm-Befehl hat einige Fehler. Er schneidet das Bild bei 640*480 Pixeln
einfach ab. Außerdem werden einige Controls bei bestimmten Borderstyle-Einstellungen
der Form nicht gedruckt. Möglicherweise hat sich bei neueren VB-Versionen da
was getan, habe ich aber noch nicht getestet. Ich habe schon vor Längerem dieses
kleine Programm als Ersatz für PrintForm geschrieben:
Option Explicit
 
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, Faktor1!, Faktor2!, Breite%, Höhe%, Korrektur%
  Me.MousePointer = 11
  Clipboard.Clear
  Call keybd_event(44, 0, 0, 0)
  DoEvents
  Call keybd_event(44, 0, 2, 0)
  Set Bild = Clipboard.GetData(vbCFBitmap)
  Clipboard.Clear
  With Printer
  .Orientation = vbPRORLandscape
  .ColorMode = vbPRCMColor
  .ScaleMode = vbPixels
  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
  .PaintPicture Bild, 0, 0, Breite * Faktor1, Höhe * Faktor1
  .EndDoc
  End With
  Set Bild = Nothing
  Me.MousePointer = 0
End Sub
Gruß

Zardoz
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Papierformatanpassung in VB auf A4475Roman29.01.03 14:04
Re: Papierformatanpassung in VB auf A41.309ModeratorDieter29.01.03 15:51
Re: Papierformatanpassung in VB auf A4870Zardoz30.01.03 03:10
Re: Papierformatanpassung in VB auf A41.249stefot88801.04.05 23:00
Re: Papierformatanpassung in VB auf A41.324Zardoz02.04.05 15:26
Re: Papierformatanpassung in VB auf A4381Roman31.01.03 12:48

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