• DEVMODE 结构体


    typedef struct _devicemode {
      TCHAR dmDeviceName[CCHDEVICENAME]; //打印机(显示设备)名称
      WORD  dmSpecVersion;
      WORD  dmDriverVersion;  //驱动版本号
      WORD  dmSize; //结构体大小
      WORD  dmDriverExtra;
      DWORD dmFields;
      union {
        struct {
          short dmOrientation; //DMORIENT_PORTRAIT (1) 纵向 or DMORIENT_LANDSCAPE (2) 横向
          short dmPaperSize; //打印纸张类型  常用 A3:8,A4,9 ,详见下图
          short dmPaperLength; //只针对打印机, 覆盖dmPaperSize指定的纸张长度 ,单位0.1mm
          short dmPaperWidth; //只针对打印机,覆盖dmPaperSize指定的纸张宽度,单位0.1mm
          short dmScale; // 设置打印输出缩放因子,缩放比例为dmScale/100
          short dmCopies; //设置打印份数(如果打印机支持的话)
          short dmDefaultSource;// 指定打印机纸张来源,通过DC_BINS 标志调用DeviceCapabilities函数获取打印机可用纸张来源列表
          short dmPrintQuality;//指定打印机质量(分辨率)DMRES_DRAFT(-1),DMRES_LOW(-2),DMRES_MEDIUM(-3),DMRES_HIGH(-4),指定正值,则表示设置的是DPI
    };
        struct {
          POINTL dmPosition;
          DWORD  dmDisplayOrientation;
          DWORD  dmDisplayFixedOutput;
        };
      };
      short dmColor; //黑白,彩色设定 DMCOLOR_MONOCHROME(1):黑白, DMCOLOR_COLOR(2):彩色
      short dmDuplex;//单面/双面设置,DMDUP_SIMPLEX(1),单面;DMDUP_VERTICAL(2),长边装订(左侧翻页),DMDUP_HORIZONTAL(3),短边装订(顶端翻页)
      short dmYResolution;//指定Y轴DPI,若初始化设定这个值,PrintQuality 设置值为X轴DPI
      short dmTTOption;
      short dmCollate;//设定打印多页时,是否整理。DMCOLLATE_TRUE(1),整理;DMCOLLATE_FALSE(0),不整理
      TCHAR dmFormName[CCHFORMNAME]; //表单名称,如"Letter" or "Legal",完整表单列表通过,EnumForms 函数获取
      WORD  dmLogPixels;
      DWORD dmBitsPerPel;
      DWORD dmPelsWidth;
      DWORD dmPelsHeight;
      union {
        DWORD dmDisplayFlags;
        DWORD dmNup;
      };
      DWORD dmDisplayFrequency;
    #if (WINVER >= 0x0400)
      DWORD dmICMMethod;
      DWORD dmICMIntent;
      DWORD dmMediaType;
      DWORD dmDitherType;
      DWORD dmReserved1;
      DWORD dmReserved2;
    #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
      DWORD dmPanningWidth;
      DWORD dmPanningHeight;
    #endif 
    #endif 
    }
    

      

    常用尺寸:

    /* paper selections */
    #define DMPAPER_FIRST DMPAPER_LETTER
    #define DMPAPER_LETTER 1 /* Letter 8 1/2 x 11 in */
    #define DMPAPER_LETTERSMALL 2 /* Letter Small 8 1/2 x 11 in */
    #define DMPAPER_TABLOID 3 /* Tabloid 11 x 17 in */
    #define DMPAPER_LEDGER 4 /* Ledger 17 x 11 in */
    #define DMPAPER_LEGAL 5 /* Legal 8 1/2 x 14 in */
    #define DMPAPER_STATEMENT 6 /* Statement 5 1/2 x 8 1/2 in */
    #define DMPAPER_EXECUTIVE 7 /* Executive 7 1/4 x 10 1/2 in */
    #define DMPAPER_A3 8 /* A3 297 x 420 mm */
    #define DMPAPER_A4 9 /* A4 210 x 297 mm */
    #define DMPAPER_A4SMALL 10 /* A4 Small 210 x 297 mm */
    #define DMPAPER_A5 11 /* A5 148 x 210 mm */
    #define DMPAPER_B4 12 /* B4 (JIS) 250 x 354 */
    #define DMPAPER_B5 13 /* B5 (JIS) 182 x 257 mm */
    #define DMPAPER_FOLIO 14 /* Folio 8 1/2 x 13 in */
    #define DMPAPER_QUARTO 15 /* Quarto 215 x 275 mm */
    #define DMPAPER_10X14 16 /* 10x14 in */
    #define DMPAPER_11X17 17 /* 11x17 in */
    #define DMPAPER_NOTE 18 /* Note 8 1/2 x 11 in */
    #define DMPAPER_ENV_9 19 /* Envelope #9 3 7/8 x 8 7/8 */
    #define DMPAPER_ENV_10 20 /* Envelope #10 4 1/8 x 9 1/2 */
    #define DMPAPER_ENV_11 21 /* Envelope #11 4 1/2 x 10 3/8 */
    #define DMPAPER_ENV_12 22 /* Envelope #12 4 276 x 11 */
    #define DMPAPER_ENV_14 23 /* Envelope #14 5 x 11 1/2 */
    #define DMPAPER_CSHEET 24 /* C size sheet */
    #define DMPAPER_DSHEET 25 /* D size sheet */
    #define DMPAPER_ESHEET 26 /* E size sheet */
    #define DMPAPER_ENV_DL 27 /* Envelope DL 110 x 220mm */
    #define DMPAPER_ENV_C5 28 /* Envelope C5 162 x 229 mm */
    #define DMPAPER_ENV_C3 29 /* Envelope C3 324 x 458 mm */
    #define DMPAPER_ENV_C4 30 /* Envelope C4 229 x 324 mm */
    #define DMPAPER_ENV_C6 31 /* Envelope C6 114 x 162 mm */
    #define DMPAPER_ENV_C65 32 /* Envelope C65 114 x 229 mm */
    #define DMPAPER_ENV_B4 33 /* Envelope B4 250 x 353 mm */
    #define DMPAPER_ENV_B5 34 /* Envelope B5 176 x 250 mm */
    #define DMPAPER_ENV_B6 35 /* Envelope B6 176 x 125 mm */
    #define DMPAPER_ENV_ITALY 36 /* Envelope 110 x 230 mm */
    #define DMPAPER_ENV_MONARCH 37 /* Envelope Monarch 3.875 x 7.5 in */
    #define DMPAPER_ENV_PERSONAL 38 /* 6 3/4 Envelope 3 5/8 x 6 1/2 in */
    #define DMPAPER_FANFOLD_US 39 /* US Std Fanfold 14 7/8 x 11 in */
    #define DMPAPER_FANFOLD_STD_GERMAN 40 /* German Std Fanfold 8 1/2 x 12 in */
    #define DMPAPER_FANFOLD_LGL_GERMAN 41 /* German Legal Fanfold 8 1/2 x 13 in */
    #if(WINVER >= 0x0400)
    #define DMPAPER_ISO_B4 42 /* B4 (ISO) 250 x 353 mm */
    #define DMPAPER_JAPANESE_POSTCARD 43 /* Japanese Postcard 100 x 148 mm */
    #define DMPAPER_9X11 44 /* 9 x 11 in */
    #define DMPAPER_10X11 45 /* 10 x 11 in */
    #define DMPAPER_15X11 46 /* 15 x 11 in */
    #define DMPAPER_ENV_INVITE 47 /* Envelope Invite 220 x 220 mm */
    #define DMPAPER_RESERVED_48 48 /* RESERVED--DO NOT USE */
    #define DMPAPER_RESERVED_49 49 /* RESERVED--DO NOT USE */
    #define DMPAPER_LETTER_EXTRA 50 /* Letter Extra 9 275 x 12 in */
    #define DMPAPER_LEGAL_EXTRA 51 /* Legal Extra 9 275 x 15 in */
    #define DMPAPER_TABLOID_EXTRA 52 /* Tabloid Extra 11.69 x 18 in */
    #define DMPAPER_A4_EXTRA 53 /* A4 Extra 9.27 x 12.69 in */
    #define DMPAPER_LETTER_TRANSVERSE 54 /* Letter Transverse 8 275 x 11 in */
    #define DMPAPER_A4_TRANSVERSE 55 /* A4 Transverse 210 x 297 mm */
    #define DMPAPER_LETTER_EXTRA_TRANSVERSE 56 /* Letter Extra Transverse 9275 x 12 in */
    #define DMPAPER_A_PLUS 57 /* SuperA/SuperA/A4 227 x 356 mm */
    #define DMPAPER_B_PLUS 58 /* SuperB/SuperB/A3 305 x 487 mm */
    #define DMPAPER_LETTER_PLUS 59 /* Letter Plus 8.5 x 12.69 in */
    #define DMPAPER_A4_PLUS 60 /* A4 Plus 210 x 330 mm */
    #define DMPAPER_A5_TRANSVERSE 61 /* A5 Transverse 148 x 210 mm */
    #define DMPAPER_B5_TRANSVERSE 62 /* B5 (JIS) Transverse 182 x 257 mm */
    #define DMPAPER_A3_EXTRA 63 /* A3 Extra 322 x 445 mm */
    #define DMPAPER_A5_EXTRA 64 /* A5 Extra 174 x 235 mm */
    #define DMPAPER_B5_EXTRA 65 /* B5 (ISO) Extra 201 x 276 mm */
    #define DMPAPER_A2 66 /* A2 420 x 594 mm */
    #define DMPAPER_A3_TRANSVERSE 67 /* A3 Transverse 297 x 420 mm */
    #define DMPAPER_A3_EXTRA_TRANSVERSE 68 /* A3 Extra Transverse 322 x 445 mm */
    #endif /* WINVER >= 0x0400 */

    #if(WINVER >= 0x0500)
    #define DMPAPER_DBL_JAPANESE_POSTCARD 69 /* Japanese Double Postcard 200 x 148 mm */
    #define DMPAPER_A6 70 /* A6 105 x 148 mm */
    #define DMPAPER_JENV_KAKU2 71 /* Japanese Envelope Kaku #2 */
    #define DMPAPER_JENV_KAKU3 72 /* Japanese Envelope Kaku #3 */
    #define DMPAPER_JENV_CHOU3 73 /* Japanese Envelope Chou #3 */
    #define DMPAPER_JENV_CHOU4 74 /* Japanese Envelope Chou #4 */
    #define DMPAPER_LETTER_ROTATED 75 /* Letter Rotated 11 x 8 1/2 11 in */
    #define DMPAPER_A3_ROTATED 76 /* A3 Rotated 420 x 297 mm */
    #define DMPAPER_A4_ROTATED 77 /* A4 Rotated 297 x 210 mm */
    #define DMPAPER_A5_ROTATED 78 /* A5 Rotated 210 x 148 mm */
    #define DMPAPER_B4_JIS_ROTATED 79 /* B4 (JIS) Rotated 364 x 257 mm */
    #define DMPAPER_B5_JIS_ROTATED 80 /* B5 (JIS) Rotated 257 x 182 mm */
    #define DMPAPER_JAPANESE_POSTCARD_ROTATED 81 /* Japanese Postcard Rotated 148 x 100 mm */
    #define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED 82 /* Double Japanese Postcard Rotated 148 x 200 mm */
    #define DMPAPER_A6_ROTATED 83 /* A6 Rotated 148 x 105 mm */
    #define DMPAPER_JENV_KAKU2_ROTATED 84 /* Japanese Envelope Kaku #2 Rotated */
    #define DMPAPER_JENV_KAKU3_ROTATED 85 /* Japanese Envelope Kaku #3 Rotated */
    #define DMPAPER_JENV_CHOU3_ROTATED 86 /* Japanese Envelope Chou #3 Rotated */
    #define DMPAPER_JENV_CHOU4_ROTATED 87 /* Japanese Envelope Chou #4 Rotated */
    #define DMPAPER_B6_JIS 88 /* B6 (JIS) 128 x 182 mm */
    #define DMPAPER_B6_JIS_ROTATED 89 /* B6 (JIS) Rotated 182 x 128 mm */
    #define DMPAPER_12X11 90 /* 12 x 11 in */
    #define DMPAPER_JENV_YOU4 91 /* Japanese Envelope You #4 */
    #define DMPAPER_JENV_YOU4_ROTATED 92 /* Japanese Envelope You #4 Rotated*/
    #define DMPAPER_P16K 93 /* PRC 16K 146 x 215 mm */
    #define DMPAPER_P32K 94 /* PRC 32K 97 x 151 mm */
    #define DMPAPER_P32KBIG 95 /* PRC 32K(Big) 97 x 151 mm */
    #define DMPAPER_PENV_1 96 /* PRC Envelope #1 102 x 165 mm */
    #define DMPAPER_PENV_2 97 /* PRC Envelope #2 102 x 176 mm */
    #define DMPAPER_PENV_3 98 /* PRC Envelope #3 125 x 176 mm */
    #define DMPAPER_PENV_4 99 /* PRC Envelope #4 110 x 208 mm */
    #define DMPAPER_PENV_5 100 /* PRC Envelope #5 110 x 220 mm */
    #define DMPAPER_PENV_6 101 /* PRC Envelope #6 120 x 230 mm */
    #define DMPAPER_PENV_7 102 /* PRC Envelope #7 160 x 230 mm */
    #define DMPAPER_PENV_8 103 /* PRC Envelope #8 120 x 309 mm */
    #define DMPAPER_PENV_9 104 /* PRC Envelope #9 229 x 324 mm */
    #define DMPAPER_PENV_10 105 /* PRC Envelope #10 324 x 458 mm */
    #define DMPAPER_P16K_ROTATED 106 /* PRC 16K Rotated */
    #define DMPAPER_P32K_ROTATED 107 /* PRC 32K Rotated */
    #define DMPAPER_P32KBIG_ROTATED 108 /* PRC 32K(Big) Rotated */
    #define DMPAPER_PENV_1_ROTATED 109 /* PRC Envelope #1 Rotated 165 x 102 mm */
    #define DMPAPER_PENV_2_ROTATED 110 /* PRC Envelope #2 Rotated 176 x 102 mm */
    #define DMPAPER_PENV_3_ROTATED 111 /* PRC Envelope #3 Rotated 176 x 125 mm */
    #define DMPAPER_PENV_4_ROTATED 112 /* PRC Envelope #4 Rotated 208 x 110 mm */
    #define DMPAPER_PENV_5_ROTATED 113 /* PRC Envelope #5 Rotated 220 x 110 mm */
    #define DMPAPER_PENV_6_ROTATED 114 /* PRC Envelope #6 Rotated 230 x 120 mm */
    #define DMPAPER_PENV_7_ROTATED 115 /* PRC Envelope #7 Rotated 230 x 160 mm */
    #define DMPAPER_PENV_8_ROTATED 116 /* PRC Envelope #8 Rotated 309 x 120 mm */
    #define DMPAPER_PENV_9_ROTATED 117 /* PRC Envelope #9 Rotated 324 x 229 mm */
    #define DMPAPER_PENV_10_ROTATED 118 /* PRC Envelope #10 Rotated 458 x 324 mm */
    #endif /* WINVER >= 0x0500 */

    #if (WINVER >= 0x0500)
    #define DMPAPER_LAST DMPAPER_PENV_10_ROTATED
    #elif (WINVER >= 0x0400)
    #define DMPAPER_LAST DMPAPER_A3_EXTRA_TRANSVERSE
    #else
    #define DMPAPER_LAST DMPAPER_FANFOLD_LGL_GERMAN
    #endif

    #define DMPAPER_USER 256

      

  • 相关阅读:
    利用API对OWLS描述的服务进行操作 转贴
    转arcgis server部署 自己安装的体会
    最后一次的温柔
    JUDDI安装完整版 (转帖W3CHINA)
    jUDDI安装总结
    Protege中安装owls editor、graphviz插件
    改完了开题报告 舒口气
    服务组合的QoS信息
    owls editor
    一、性能测试术语
  • 原文地址:https://www.cnblogs.com/ericyi/p/4424455.html
Copyright © 2020-2023  润新知