Download de presentatie
1
Afdrukken met Visual Basic 2008
André Obelink |
2
Over mezelf… MarYor | software & consultancy
Auteur van artikelen en boeken Geschreven voor Microsoft .NET Magazine, PC Active, MSDN Magazine Europe, SDN Magazine, VB Magazine Boek: Visual Basic 2005 – de Basis (9/2006) Boek: Visual Basic Kookboek (3/2008) Boek: Visual Basic 2008 – de Basis (8/2008) Boek: C# Kookboek (co-auteur, verwacht maart 2009) Actief binnen de ontwikkelaarsgemeenschap Sinds 2006 Microsoft MVP voor Visual Basic
3
Agenda Vrij afdrukken Printers en printerinstellingen
PrintDocument, PrintPreviewDialog, PageSetupDialog Printers en printerinstellingen PrinterSettings, standaard printer Afdrukken van lijsten (database) Microsoft.Reporting, LocalReport, ReportViewer, .. Visual Basic 6 Printer, PrintForm
4
PrintDocument PrintDocument class. Belangrijke methoden, properties en events zijn: Methoden - Print() Eigenschappen - DefaultPageSettings, DocumentName, PrinterSettings Events - BeginPrint(), EndPrint(), PrintPage(), QueryPageSettings()
5
Events PrintDocument Volgorde Event Omschrijving 1 BeginPrint()
Gebruik dit event om eventuele datastructuren op te bouwen of verbindingen naar een database te leggen. 2 QueryPageSettings() Gebruik dit event om eventuele pagina-instellingen te wijzigen. Denk hierbij aan marges of bijvoorbeeld de afdrukstand. 3 PrintPage() Gebruik dit event om de feitelijke afdrukcode in te plaatsen. Wanneer dit event geen code bevat, zal er ook niets worden afgedrukt. 4 EndPrint() Gebruik dit event om gebruikte variabelen op te ruimen en eventuele verbindingen naar database(s) netjes af te sluiten.
6
PrintPage() event Private WithEvents _PrintDocument As New PrintDocument Private Sub _PrintDocument_PrintPage(ByVal sender As Object, _ ByVal e As PrintPageEventArgs) _ Handles _PrintDocument.PrintPage Dim lettertype As New Font("Arial", 24) e.Graphics.DrawString("Hallo!", lettertype, Brushes.Black, 100, 100) End Sub Private Sub PrintButton_Click() Handles PrintButton.Click _PrintDocument.Print()
7
PrintDocument en PrintPreviewDialog
Demo PrintDocument en PrintPreviewDialog
8
Afdrukken over meerdere pagina’s
Vang het PrintPage() event af Bereken hoe groot het printbare gebied is hou rekening met afdrukstand, marges… Bereken hoeveel karakters er in passen gebruik hiervoor de methode e.Graphics.MeasureString() Print het bewuste aantal karakters Indien nog niet alle karakters geprint zijn… stel de eigenschap e.HasMorePages in op True PrintPage() Doorloop alle stappen tot alle tekst afgedrukt is
9
Afdrukken meerdere pagina’s
Demo Afdrukken meerdere pagina’s
10
Pagina-instellingen Gebruik PageSetupDialog
Stel eigenschap PageSetupDialog.PageSettings in op de huidige pagina-instellingen van het PrintDocument Toon het dialoogkader Stel eigenschap PrintDocument.DefaultPageSettings in op PageSetupDialog.PageSettings
11
Demo PageSetupDialog
12
Printerinstellingen Gebruik PrintDialog
Stel eigenschap PrintDialog.Document in op het PrintDocument dat geprint moet worden Toon het dialoogkader Indien de gebruiker op OK heeft geklikt, roep de PrintDocument.Print() methode aan
13
Demo PrintDialog
14
VB6 – Printer.Print() Voor backwards compatibiliteit met VB6 is er een alternatief – Printer object Microsoft Visual Basic PowerPacks Gebruik weer methoden en eigenschappen als: Print() CurrentX en CurrentY Circle() EndDoc()
15
Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6.Printer
Code Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6.Printer
16
PrintForm Een andere oude bekende uit het VB6 tijdperk: de PrintForm class Microsoft Visual Basic PowerPacks Handig voor een 1:1 dump van een formulier Stel eigenschappen in zoals: DocumentName Form PrintAction Roep methode Print() aan
17
Demo PrintForm
18
Report Namespace Microsoft.Reporting Microsoft.Reporting.WinForms
Microsoft.Reporting.WebForms LocalReport (.rdlc) en ServerReport Met name gericht op database reporting
19
Demo Microsoft.Reporting
20
Alternatieven Afdrukken met standaard Visual Basic is sterk verbeterd, maar voor veel projecten minder geschikt… Business Objects Crystal Reports DataDynamics ActiveReports DevExpress XtraReports Telerik Reporting
21
DataDynamics ActiveReports 3.0 Professional
(Indien nog wat tijd over…) Demo DataDynamics ActiveReports 3.0 Professional
22
Bedankt voor uw aandacht!
Vragen? Bedankt voor uw aandacht!
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.