home *** CD-ROM | disk | FTP | other *** search
/ Windows Graphics Programming / Feng_Yuan_Win32_GDI_DirectX.iso / Samples / Chapt_17 / PrinterDevice / DevCaps.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2000-05-12  |  4.2 KB  |  120 lines

  1. //-----------------------------------------------------------------------------------//
  2. //              Windows Graphics Programming: Win32 GDI and DirectDraw               //
  3. //                             ISBN  0-13-086985-6                                   //
  4. //                                                                                   //
  5. //  Written            by  Yuan, Feng                             www.fengyuan.com   //
  6. //  Copyright (c) 2000 by  Hewlett-Packard Company                www.hp.com         //
  7. //  Published          by  Prentice Hall PTR, Prentice-Hall, Inc. www.phptr.com      //
  8. //                                                                                   //
  9. //  FileName   : devcaps.cpp                                                         //
  10. //  Description: KDeviceCaps class                                                   //
  11. //  Version    : 1.00.000, May 31, 2000                                              //
  12. //-----------------------------------------------------------------------------------//
  13.  
  14. #define STRICT
  15. #define NOCRYPT
  16. #define WINVER       0x0500
  17.  
  18. #include <windows.h>
  19. #include <tchar.h>
  20.  
  21. #include "resource.h"
  22.  
  23. #include "..\\..\\include\\property.h"
  24. #include "..\\..\\include\\listview.h"
  25.  
  26. #include "DevCaps.h"
  27.  
  28.  
  29. BOOL KDeviceCaps::DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
  30. {
  31.     switch ( uMsg )
  32.     {
  33.         case WM_INITDIALOG:
  34.             m_List.FromDlgItem(hWnd, IDC_CAPS);
  35.  
  36.             return OnInitDialog();
  37.  
  38.         case WM_COMMAND:
  39.             if ( LOWORD(wParam)==IDOK )
  40.                 EndDialog(hWnd, TRUE);
  41.  
  42.             return TRUE;
  43.     }
  44.         
  45.     return FALSE;
  46. }
  47.  
  48.  
  49. void KDeviceCaps::OneCap(int index, const TCHAR * name, const TCHAR * format)
  50. {
  51.     TCHAR mess[64];
  52.  
  53.     wsprintf(mess, format, GetDeviceCaps(m_hDC, index));
  54.  
  55.     m_List.AddItem(0, name);
  56.     m_List.AddItem(1, mess);
  57. }
  58.  
  59.  
  60. BOOL KDeviceCaps::OnInitDialog(void)
  61. {
  62.     m_List.AddColumn(0, 120, _T("Index"));
  63.     m_List.AddColumn(1, 160, _T("Value"));
  64.  
  65.     OneCap(TECHNOLOGY,        _T("TECHNOLOGY"),        _T("%d"));
  66.  
  67.     OneCap(DRIVERVERSION,    _T("DRIVERVERSION"),    _T("0x%x"));
  68.     
  69.     OneCap(HORZSIZE,        _T("HORZSIZE"),            _T("%d mm"));
  70.     OneCap(VERTSIZE,        _T("VERTSIZE"),            _T("%d mm"));
  71.     
  72.     OneCap(HORZRES,            _T("HORZRES"),            _T("%d pixels"));
  73.     OneCap(VERTRES,            _T("VERTRES"),            _T("%d pixels"));
  74.  
  75.     OneCap(LOGPIXELSX,        _T("LOGPIXELSX"),        _T("%d dpi"));
  76.     OneCap(LOGPIXELSY,        _T("LOGPIXELSY"),        _T("%d dpi"));
  77.  
  78.     OneCap(BITSPIXEL,        _T("BITSPIXEL"),        _T("%d bits"));
  79.     OneCap(PLANES,          _T("PLANES"),            _T("%d planes"));
  80.     OneCap(NUMBRUSHES,      _T("NUMBRUSHES"),        _T("%d"));
  81.     OneCap(NUMPENS,         _T("NUMPENS"),            _T("%d"));
  82.     OneCap(NUMMARKERS,      _T("NUMMARKERS"),        _T("%d"));
  83.     OneCap(NUMFONTS,        _T("NUMFONTS"),            _T("%d"));
  84.     OneCap(NUMCOLORS,       _T("NUMCOLORS"),        _T("%d"));
  85.  
  86.     OneCap(PDEVICESIZE,     _T("PDEVICESIZE"),        _T("%d"));
  87.     OneCap(CURVECAPS,       _T("CURVECAPS"),        _T("0x%x"));
  88.     OneCap(LINECAPS,        _T("LINECAPS"),            _T("0x%x"));
  89.  
  90.     OneCap(POLYGONALCAPS,   _T("POLYGONALCAPS"),    _T("0x%x"));
  91.     OneCap(TEXTCAPS,        _T("TEXTCAPS"),            _T("0x%x"));
  92.     OneCap(CLIPCAPS,        _T("CLIPCAPS"),            _T("0x%x"));
  93.     OneCap(RASTERCAPS,        _T("RASTERCAPS"),        _T("0x%x"));
  94.  
  95.     OneCap(ASPECTX,            _T("ASPECTX"),            _T("%d"));
  96.     OneCap(ASPECTY,            _T("ASPECTY"),            _T("%d"));
  97.     OneCap(ASPECTXY,        _T("APSECTXY"),            _T("%d"));
  98.  
  99.     OneCap(SIZEPALETTE,        _T("SIZEPALETTE"),        _T("%d"));
  100.     OneCap(NUMRESERVED,     _T("NUMRESERVED"),        _T("%d"));
  101.     OneCap(COLORRES,        _T("COLORRES"),            _T("%d"));
  102.  
  103.     OneCap(PHYSICALWIDTH,   _T("PHYSICALWIDTH"),    _T("%d"));
  104.     OneCap(PHYSICALHEIGHT,  _T("PHYSICALHEIGHT"),    _T("%d"));
  105.     OneCap(PHYSICALOFFSETX, _T("PHYSICALOFFSETX"),    _T("%d"));
  106.     OneCap(PHYSICALOFFSETY, _T("PHYSICALOFFSETY"),    _T("%d"));
  107.     OneCap(SCALINGFACTORX,  _T("SCALINGFACTORX"),    _T("%d %"));
  108.     OneCap(SCALINGFACTORY,  _T("SCALINGFACTORY"),    _T("%d %"));
  109.  
  110.     OneCap(VREFRESH,        _T("VREFRESH"),            _T("%d hz"));
  111.     OneCap(DESKTOPVERTRES,  _T("DESKTOPVERTRES"),    _T("%d pixels"));
  112.     OneCap(DESKTOPHORZRES,  _T("DESKTOPHORZRES"),    _T("%d pixels"));
  113.     OneCap(BLTALIGNMENT,    _T("BLTALIGNMENT"),        _T("%d pixels"));
  114.     OneCap(SHADEBLENDCAPS,  _T("SHADEBLENDCAPS"),    _T("0x%x"));
  115.     OneCap(COLORMGMTCAPS,   _T("COLORMGMTCAPS"),    _T("0x%x"));
  116.  
  117.     return TRUE;
  118. }
  119.  
  120.