myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Form Inhalt drucken wie?

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 18.07.10, 15:54   #1
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard Form Inhalt drucken wie?

Hallo Leute

habe eine frage.
Ist es möglich den Inhalt einer Form zu drucken?
Also z.B Textboxen, Labels usw.
Aber kein MenuStrip.
Ich benutze Visual Basic 2008 Express.

Wäre super wen ihr mir helfen könntet!!

MfG moin2010
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
moin2010 ist offline   Mit Zitat antworten
Ungelesen 20.07.10, 12:30   #2
.ShoXx!
 
Benutzerbild von .ShoXx!
 
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
.ShoXx! ist noch neu hier! | 8 Respekt Punkte
Standard

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] gibt ja viele Einträge bei Google.
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
.ShoXx! ist offline   Mit Zitat antworten
Ungelesen 20.07.10, 12:34   #3
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

ok habs mir mal angeschaut muss ich dan mal ausprobieren.
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
moin2010 ist offline   Mit Zitat antworten
Ungelesen 20.07.10, 18:36   #4
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

ich habs mir angeschaut aber bekomme es einfach nicht hin.

Ist es nicht vieleicht möglich das er dan einfag ein bild von
sich erstellt, anzeigt und das man dan auf einen Button klickt zum druckten?
Es kann sich von mir aus auch eine neu Form oder so öffnen wo man es dan sieht
und wo dan dort ein Button zum Drucken ist.
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
moin2010 ist offline   Mit Zitat antworten
Ungelesen 21.07.10, 12:29   #5
.ShoXx!
 
Benutzerbild von .ShoXx!
 
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
.ShoXx! ist noch neu hier! | 8 Respekt Punkte
Standard

Zitat:
Zitat von moin2010 Beitrag anzeigen
ich habs mir angeschaut aber bekomme es einfach nicht hin.
Was hat nicht geklappt? Welche Fehlermeldung?
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
.ShoXx! ist offline   Mit Zitat antworten
Ungelesen 21.07.10, 15:25   #6
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

nein, das problem ist, ich weis nicht wo ich es einfügen muss!
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
moin2010 ist offline   Mit Zitat antworten
Ungelesen 21.07.10, 18:09   #7
.ShoXx!
 
Benutzerbild von .ShoXx!
 
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
.ShoXx! ist noch neu hier! | 8 Respekt Punkte
Standard

Wo du es einfügen sollst? Da sind doch schon alle Events...
Oben unter "Public Class Form1":

Code:
Private Const SRCCOPY As Integer = &HCC0020
 
    Private Declare Function BitBlt _
   Lib "gdi32.dll" ( _
   ByVal hdcDest As IntPtr, _
   ByVal x As Int32, _
   ByVal y As Int32, _
   ByVal Width As Int32, _
   ByVal Height As Int32, _
   ByVal hdcSrc As IntPtr, _
   ByVal xSrc As Int32, _
   ByVal ySrc As Int32, _
   ByVal dwRop As Int32 _
   ) As Boolean
 
    Private formImage As Bitmap

Public Sub PrintForm()
        ' Gibt eine Bildschirmkopie einer am Bildschirm komplett 
        ' sichtbaren Form auf dem Drucker aus (Screenshot). 
        ' Platzieren Sie diesen Code im Form-Klassenmodul der 
        ' Form, die Sie ausdrucken möchten. 
 
        ' Zunächst: Bildschirmkopie der Form erzeugen. 
        ' Nachteil: Verdeckte und anderweitig nicht sichtbare 
        ' Teile(der) WinForm werden nicht mit in die Grafik 
        ' aufgenommen. 
 
        ' Graphics-Objekt für die Form erzeugen 
        Dim formGraphics As Graphics = Me.CreateGraphics
 
        ' Kompatible Bitmap erzeugen und Graphics-Objekt abholen 
        formImage = New Bitmap(Me.Width, Me.Height, formGraphics)
        Dim memGraphics As Graphics = Graphics.FromImage(formImage)
 
        ' Quell- und Ziel-DCs abholen 
        Dim sourceDC As IntPtr = formGraphics.GetHdc
        Dim targetDC As IntPtr = memGraphics.GetHdc
 
        ' Kopieren ("Screenshot") 
        BitBlt(targetDC, _
         0, 0, Me.ClientRectangle.Width, Me.ClientRectangle.Height, _
         sourceDC, _
         Me.ClientRectangle.X, Me.ClientRectangle.Y, _
         SRCCOPY)
 
        ' Alternative Variante folgend auskommentiert: 
        ' Mit dem folgenden Code wird die gesamte Form (inkl. Rändern 
        ' und Titelzeile) in die Ziel-Bitmap kopiert: 
        ' BitBlt(targetDC, _ 
        '  0, 0, Me.Size.Width, Me.Size.Height, _ 
        '  sourceDC, _ 
        '  0, 0, _ 
        '  SRCCOPY) 
 
        ' DCs freigeben 
        formGraphics.ReleaseHdc(sourceDC)
        formGraphics.Dispose()
        memGraphics.ReleaseHdc(targetDC)
        memGraphics.Dispose()
 
        ' In formImage steht die Abbildung der Form nun zur Verfügung. 
        ' Die Abbildung aus formImage ausdrucken: 
        PrintDocument1.Print()
        formGraphics.Dispose()
 
    End Sub
Dann fügst du einen Button hinzu, doppelklick auf ihn:
Code:
Me.PrintForm()
Dann fügst du noch ein PrintDocument aus der Toolbox hinzu:

Code:
Private Sub PrintDocument1_PrintPage( _
    ByVal sender As System.Object, _
    ByVal e As System.Drawing.Printing.PrintPageEventArgs _
    ) Handles PrintDocument1.PrintPage
 
        ' Screenshot ausdrucken 
        e.Graphics.DrawImage(formImage, 0, 0)
 
    End Sub
Per Buttonklick wird dann deine Form ausgedruckt.
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
.ShoXx! ist offline   Mit Zitat antworten
Ungelesen 23.07.10, 17:33   #8
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

ich habe es jetzt alles mal eingefügt.

Jetzt habe ich eine Frage.

Ist es schlimm wen es ein Syntaxfehler gibt?

Weil der kommt bei: ByVal
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
moin2010 ist offline   Mit Zitat antworten
Ungelesen 23.07.10, 17:47   #9
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

nein, das ist nicht schlimm, VB ist eh' ein einziger syntaxfehler ...

hast du evntl. direkt davor ein '_' unterschlagen?
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 20.08.10, 18:11   #10
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

ich habe jetzt mal ein test druck gemacht.
Kann man aber vieleicht das noch so machen, dass das MenuStrip nicht mit auf dem gedruckten Bild angezeigt wird?
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
moin2010 ist offline   Mit Zitat antworten
Ungelesen 20.08.10, 20:09   #11
.ShoXx!
 
Benutzerbild von .ShoXx!
 
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
.ShoXx! ist noch neu hier! | 8 Respekt Punkte
Standard

Hab jetzt kein Bock zu suchen, aber du könntest ja direkt vor dem Drucken das MenuStrip verstecken..ist zwar nicht so ganz toll aber naja^^
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
.ShoXx! ist offline   Mit Zitat antworten
Ungelesen 20.08.10, 20:23   #12
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

ne das is nich so gut.
wäre besser, wenn es gleich ohne MenuStrip gedruckt wird,
aber in der Form angezeigt wird.
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
moin2010 ist offline   Mit Zitat antworten
Ungelesen 22.08.10, 07:20   #13
moin2010
Erfahrener Newbie
 
Benutzerbild von moin2010
 
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
moin2010 ist noch neu hier! | 0 Respekt Punkte
Standard

kann mir niemand helfen?
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
moin2010 ist offline   Mit Zitat antworten
Ungelesen 22.08.10, 11:22   #14
.ShoXx!
 
Benutzerbild von .ShoXx!
 
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
.ShoXx! ist noch neu hier! | 8 Respekt Punkte
Standard

Zitat:
Zitat von moin2010 Beitrag anzeigen
ne das is nich so gut.
wäre besser, wenn es gleich ohne MenuStrip gedruckt wird,
aber in der Form angezeigt wird.
Warum ist das nicht so gut? Vor dem Drucken versteckst du das MenuStrip mit -> MenuStrip1.Visible = False und danach wieder auf True stellen..das merkste dann gar nicht. Oder denkst du, dass das MenuStrip dann für immer verschwindet?

Hier ist ein kürzerer Code zum Ausdrucken der Form, denn der von oben ist etwas zu lang^^
Code:
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        Dim bmp As New Bitmap(Me.Width, Me.Height)
        Me.DrawToBitmap(bmp, New Rectangle(0, 0, Me.Width, Me.Height))
        e.Graphics.DrawImage(bmp, 0, 0)
    End Sub
Per Button die Form dann ausdrucken:
Code:
PrintDocument1.Print()
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
.ShoXx! ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 Uhr.


Sitemap

().