vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

Fortgeschrittene Programmierung
Problem beim Screenshot Drucken unter Vista 
Autor: Blace
Datum: 23.06.08 16:36

Hallo,
ich habe vor längerer Zeit mal eine Funktion geschrieben, die vom Hauptfenster meines Programms ein Screenshot macht, es an den Drucker sendet und dann ein zweites Fenster im Programm aufruft, ebenfalls ein Screenshot macht und es dann auch an den Drucker sendet.
So werden auf einem Blatt hochkannt zwei Screenshots der Fenster des Programms gedruckt. Eins auf der oberen Hälfte des Blattes und eins auf der unteren Hälfte des Blattes.
Das funktioniert auch eigentlich ohne Probleme, außer bei einem PC in der Firma, auf dem das Betriebssystem Windows Vista installiert ist.
Dort wird nur der obere Teil auf das Blatt gedruckt, also das Hauptfenster des Programms.
Als ich dann das Bild testweise in einer Imagebox zwischengespeichert habe, funktionierte es wieder bei allen PCs außer beim Vista Rechner. Dort wurde der Laufzeitfehler 481: Ungültiges Bild ausgegeben.
Hier einmal der Code der Funktion, die fürs Screenshot machen und Drucken zuständig ist:
Private Sub drucke_hochformat()
    Detail_Name = Data1.Recordset.Fields("Name")
    Detail_Vorname = Data1.Recordset.Fields("Vorname")
    Detail_Chiffre_Nr = Data1.Recordset.Fields("Chiffre-Nr")
 
    If IsNull(Detail_Name) Then
        Detail_Name = ""
    End If
    If IsNull(Detail_Vorname) Then
        Detail_Vorname = ""
    End If
    If IsNull(Detail_Chiffre_Nr) Then
        Detail_Chiffre_Nr = ""
    End If
 
    frmDetail.Text5.Text = Detail_Name
    frmDetail.Text6.Text = Detail_Vorname
    frmDetail.Text7.Text = Detail_Chiffre_Nr
    frmDetail.Test = txtID.Text
    'SQL = "SELECT * FROM Detail WHERE Detail.`ID` = '" & frmDetail.Test & _
      "'ORDER BY Datum DESC"
    SQL = "SELECT * FROM Detail WHERE Detail.`IDNR` = " & frmDetail.Test & "" & _
    "ORDER BY Datum DESC"
    frmDetail.Data2.RecordSource = SQL
    frmDetail.Data2.Refresh
    frmDetail.Refresh
    frmDetail.Show
    frmDetail.Hide
 
    form_farbe_aendern frmAIS, &HFFFFFF
 
 
 
    form_farbe_aendern frmDetail, &HFFFFFF
 
 
 
  Const KEYEVENTF_KEYUP = &H2
  Const VK_MENU = &H12
  Const VK_SNAPSHOT = &H2C
 
  HideTaskbar
  frmAIS.Show
 
  DoEvents
 
  keybd_event VK_MENU, 0, 0, 0
  keybd_event VK_SNAPSHOT, 0, 0, 0
  keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
  keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
  DoEvents
 
  ShowTaskbar
 
  Dim OldScaleMode As Integer
  OldScaleMode = Printer.ScaleMode
 
  Printer.Orientation = Hochformat
  Printer.ScaleMode = 7
  Printer.PaintPicture Clipboard.GetData, 3, 0, 16, 14
  DoEvents
  Clipboard.Clear
 
 
  frmDetail.Show
  frmDetail.Refresh
  DoEvents
 
  keybd_event VK_MENU, 0, 0, 0
  keybd_event VK_SNAPSHOT, 0, 0, 0
  keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
  keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
  DoEvents
 
  Printer.PaintPicture Clipboard.GetData, 3, 16, 16, 12
  Printer.EndDoc
  DoEvents
  Printer.ScaleMode = OldScaleMode
 
 
  form_farbe_aendern frmAIS, &H8000000F
  form_farbe_aendern frmDetail, &H8000000F
  frmDetail.Hide
 
  Unload frmDetail
 
End Sub
Ich hoffe ihr könnt mir irgendwie weiterhelfen, und falls ihr mir jetzt damit kommt, dass Vista das Problem ist, dann glaub ich das gerne ^^. Jedoch ist leider ausgerechnet der Vista Rechner der PC vom Chef und ich denke, dass er sich nicht damit zufrieden geben wird, dass das Betriebssystem einfach Mist ist .
Also ich danke schonmal jetzt für jede Antwort.
Grüße
Blace

FSMism 4 L!f3

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem beim Screenshot Drucken unter Vista2.579Blace23.06.08 16:36
Re: Problem beim Screenshot Drucken unter Vista1.920Blace25.06.08 15:21

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-2024 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