vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 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

VB.NET - Fortgeschrittene
Re: Metafile ? 
Autor: rub
Datum: 14.09.05 14:46

Ich habe hier noch ein Problem. Nach dem ich in das Metafile gezeichnet habe, wandle ich es in Byte(), sprich einen Bytearray um und speichere die Daten in meiner Datenbank. Über ein weiteres Tool lade ich die Daten und drucke sie aus.
  Private Sub printDoc()
                       currentPrintDocument = New PrintDocument()
                      currentPrintDocument.DocumentName = "Test" 
                    'Handler für 'Page' wird erzeugt.
                    AddHandler currentPrintDocument.PrintPage, AddressOf _
                     Me.PrintPage
                    DokuId = 1
                   currentPrintDocument.PrinterSettings.PrinterName = _
                     "\\FSC01\Lexmark Optra"
                    'Prüft, ob Drucker funktionsfähig ist.
                    If currentPrintDocument.PrinterSettings.IsValid Then
                        currentPrintDocument.Print()
                    Else
                        MessageBox.Show("Printer is invalid.")
                    End If
          Catch ex As Exception
                 End Try
    End Sub
 
    Private Sub PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs)
        Try
            Dim metafile1
            Dim Storagedb As Stream
            Dim dv As New DataView
            dv.Table = Me.DS_TerminalService1.Tables( _
              "tblTerminalPrinterJobsPages")
            dv.RowFilter = " ID =1" 
            'Umwandlung des Streams in ein Metafile.
            Dim bits As Byte() = CType(dv.Item(0).Item("Meta"), Byte())
            Storagedb = New MemoryStream(bits)
            'Stream wird zurückgesetzt.
            Storagedb.Seek(0, SeekOrigin.Begin)
            metafile1 = New Metafile(Storagedb)
            'Stream wird geschlossen.
            Storagedb.Close()
            'Grafic wird übergeben.
            e.Graphics.DrawImage(metafile1, 60, 10)
            'Metafile wird gelöscht.
            metafile1.Dispose()
            'Nur einzelne Seiten.
            e.HasMorePages = False
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
Das funktioniert auch, Jedoch kann ich hier keinen Handler übergeben. Wenn ich das tue bekomme ich einen Fehlr.
Jetzt würde ich aber gerne noch etwas zusätzliches in das Metafile zeichnen. Dass geht aber wohl ohne das Anlegen mit Handler nicht. Wie kann ich denn hier noch zusätzlich etwas hineinzeichnen ?
Wird so : metafile1 = New Metafile(Storagedb) immer ein bereits gefüllter Stream übergeben und kann mit MetaFile1 = New Metafile(MemoryStream1, Handle1)
nur ein leeres, neues Metafile erstellt werden ?
Habe ich hier ein Fehler mit New oder mit Storagedb.Seek(0, SeekOrigin.Begin) , also dem zurücksetzen des Streams, oder was ?
Ich habe schon ettliche Versuche hinter mir und bekomme es nicht hin.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Metafile ?1.174rub_14.09.05 10:35
Re: Metafile ?943rub14.09.05 14:46

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