// The first thing to do before we try to print is build up the header and footer elements. We'll create default ones in the constructor: public PrintEngine() { // create the header... Header = new PrintElement(null); Header.AddText("Report"); Header.AddText("Page: [pagenum]"); Header.AddHorizontalRule(); Header.AddBlankLine(); // create the footer... Footer = new PrintElement(null); Footer.AddBlankLine(); Footer.AddHorizontalRule(); Footer.AddText("Confidential"); }
public void Print(PrintElement element) { // tell the engine to draw a header... element.AddHeader("Customer"); // now, draw the data... element.AddData("Customer ID", Id.ToString()); element.AddData("Name", FirstName + " " + LastName); element.AddData("Company", Company); element.AddData("E-mail", Email); element.AddData("Phone", Phone); // finally, add a blank line... element.AddBlankLine(); }
public void Print(PrintElement element) { // tell the engine to draw a header... element.AddHeader("Contents of List"); // now, draw the data... element.AddData("Book Nbr", bookNumber); element.AddData("Title", title); element.AddData("ISBN", ISBN); element.AddData("Location", location); element.AddData("Price", price); element.AddData("Status", status); // finally, add a blank line... element.AddBlankLine(); }
// The printing routines have a fairly curious way of working, which I mentioned right at the beginning involved firing events to signal when a page needs to be printed. // The first event that gets fired is BeginPrint, but as PrintEngine is inherited from PrintDocument the best way to get at this is to override OnBeginPrint. // This is, I'm told, similar to the way that the printing routines in MFC worked. // OnBeginPrint - called when printing starts protected override void OnBeginPrint(PrintEventArgs e) { // reset... _printElements = new ArrayList(); _pageNum = 0; _printIndex = 0; // go through the objects in the list and create print elements for each one... foreach (IPrintable printObject in _printObjects) { // create an element... PrintElement element = new PrintElement(printObject); _printElements.Add(element); // tell it to print... printObject.Print(element); } }
public void Print(PrintElement element) { element.AddText(text); }