home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / progwin / chap15 / formfeed.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-11-12  |  1.2 KB  |  43 lines

  1. /*---------------------------------------------
  2.    FORMFEED.C -- Advances printer to next page
  3.                  (c) Charles Petzold, 1990
  4.   ---------------------------------------------*/
  5.  
  6. #include <windows.h>
  7. #include <string.h>
  8.  
  9. HDC  GetPrinterDC (void) ;
  10.  
  11. int PASCAL WinMain (HANDLE hInstance, HANDLE hPrevInstance,
  12.                     LPSTR lpszCmdLine, int nCmdShow)
  13.      {
  14.      static char szMsg [] = "FormFeed" ; 
  15.      HDC         hdcPrint ;
  16.  
  17.      if (hdcPrint = GetPrinterDC ())
  18.           {
  19.           if (Escape (hdcPrint, STARTDOC, sizeof szMsg - 1, szMsg, NULL) > 0)
  20.                if (Escape (hdcPrint, NEWFRAME, 0, NULL, NULL) > 0)
  21.                     Escape (hdcPrint, ENDDOC, 0, NULL, NULL) ;
  22.  
  23.           DeleteDC (hdcPrint) ;
  24.           }
  25.      return FALSE ;
  26.      }
  27.  
  28. HDC GetPrinterDC (void)
  29.      {
  30.      static char szPrinter [80] ;
  31.      char        *szDevice, *szDriver, *szOutput ;
  32.  
  33.      GetProfileString ("windows", "device", ",,,", szPrinter, 80) ;
  34.  
  35.      if ((szDevice = strtok (szPrinter, "," )) &&
  36.          (szDriver = strtok (NULL,      ", ")) && 
  37.          (szOutput = strtok (NULL,      ", ")))
  38.           
  39.                return CreateDC (szDriver, szDevice, szOutput, NULL) ;
  40.  
  41.      return 0 ;
  42.      }
  43.