home *** CD-ROM | disk | FTP | other *** search
/ Programming in Microsoft Windows with C# / Programacion en Microsoft Windows con C#.iso / Original Code / Printing / PrintWithStatusBar / StatusBarPrintController.cs < prev   
Encoding:
Text File  |  2001-01-15  |  1.5 KB  |  48 lines

  1. //-------------------------------------------------------
  2. // StatusBarPrintController.cs ⌐ 2001 by Charles Petzold
  3. //-------------------------------------------------------
  4. using System;
  5. using System.Drawing;
  6. using System.Drawing.Printing;
  7. using System.Windows.Forms;
  8.  
  9. class StatusBarPrintController: StandardPrintController
  10. {
  11.      StatusBarPanel statpanel;
  12.      int            iPageNumber;
  13.      string         strSaveText;
  14.  
  15.      public StatusBarPrintController(StatusBarPanel sbp): base()
  16.      {
  17.           statpanel = sbp;
  18.      }
  19.      public override void OnStartPrint(PrintDocument prndoc, 
  20.                                        PrintEventArgs pea)
  21.      {
  22.           strSaveText = statpanel.Text;      // Probably "Ready" or similar.
  23.           statpanel.Text = "Starting printing";
  24.           iPageNumber = 1;
  25.  
  26.           base.OnStartPrint(prndoc, pea);
  27.      }
  28.      public override Graphics OnStartPage(PrintDocument prndoc, 
  29.                                           PrintPageEventArgs ppea)
  30.      {
  31.           statpanel.Text = "Printing page " + iPageNumber++;
  32.  
  33.           return base.OnStartPage(prndoc, ppea);
  34.      }
  35.      public override void OnEndPage(PrintDocument prndoc, 
  36.                                     PrintPageEventArgs ppea)
  37.      {
  38.           base.OnEndPage(prndoc, ppea);
  39.      }
  40.      public override void OnEndPrint(PrintDocument prndoc, 
  41.                                      PrintEventArgs pea)
  42.      {
  43.           statpanel.Text = strSaveText;
  44.  
  45.           base.OnEndPrint(prndoc, pea);
  46.      }
  47. }
  48.