home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 May / PCWorld_2001-05_cd.bin / Software / Vyzkuste / devc / _SETUP.6 / Group9 / prntest.c < prev    next >
C/C++ Source or Header  |  2000-02-10  |  1KB  |  66 lines

  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <windows.h>
  6.  
  7. main ()
  8. {
  9.     PRINTDLG    pd;
  10.     DOCINFO        di;
  11.     char*        szMessage;
  12.  
  13.     memset (&pd, 0, sizeof(PRINTDLG));
  14.     memset (&di, 0, sizeof(DOCINFO));
  15.  
  16.     di.cbSize = sizeof(DOCINFO);
  17.     di.lpszDocName = "Test";
  18.  
  19.     pd.lStructSize = sizeof(PRINTDLG);
  20.     pd.Flags = PD_PAGENUMS | PD_RETURNDC;
  21.     pd.nFromPage = 1;
  22.     pd.nToPage = 1;
  23.     pd.nMinPage = 1;
  24.     pd.nMaxPage = 1;
  25.  
  26.     szMessage = 0;
  27.  
  28.     if (PrintDlg (&pd))
  29.     {
  30.         if (pd.hDC)
  31.         {
  32.             if (StartDoc (pd.hDC, &di) != SP_ERROR)
  33.             {
  34.                 StartPage (pd.hDC);
  35.  
  36.                 TextOut (pd.hDC, 0, 0, "Hello, printer!", 15);
  37.  
  38.                 EndPage (pd.hDC);
  39.  
  40.                 EndDoc (pd.hDC);
  41.  
  42.                 szMessage = "Printed.";
  43.             }
  44.             else
  45.             {
  46.                 szMessage = "Could not start document.";
  47.             }
  48.         }
  49.         else
  50.         {
  51.             szMessage = "Could not create device context.";
  52.         }
  53.     }
  54.     else
  55.     {
  56.         szMessage = "Canceled or printer could not be setup.";
  57.     }
  58.  
  59.     if (szMessage)
  60.     {
  61.         MessageBox (NULL, szMessage, "Print Test", MB_OK);
  62.     }
  63.  
  64.     return 0;
  65. }
  66.