PRINTDLGEXW 结构是 Win32 API 中定义的一个用于打印对话框扩展的结构,它通常用于与打印相关的操作。以下是关于 PRINTDLGEXW 结构的一些信息:
typedef struct tagPDEXA {
  DWORD                 lStructSize;
  HWND                  hwndOwner;
  HGLOBAL               hDevMode;
  HGLOBAL               hDevNames;
  HDC                   hDC;
  DWORD                 Flags;
  DWORD                 Flags2;
  DWORD                 ExclusionFlags;
  DWORD                 nPageRanges;
  DWORD                 nMaxPageRanges;
  PPAGESETUPDLGW        lpPageRanges;
  DWORD                 nMinPage;
  DWORD                 nMaxPage;
  DWORD                 nCopies;
  HINSTANCE             hInstance;
  LPCWSTR               lpPrintTemplateName;
  LPUNKNOWN             lpCallback;
  DWORD                 nPropertyPages;
  HPROPSHEETPAGE        *lphPropertyPages;
  DWORD_PTR             nStartPage;
  DWORD_PTR             dwResultAction;
  HANDLE                hResult;
  LPCWSTR               lCustData;
  PFNPROPSHEETCALLBACK  lpfnSetupPage;
  LPCWSTR               lpfnPageSetupHook;
  LPCWSTR               lpfnPagePaintHook;
  LPCWSTR               lpPageSetupTemplateName;
  HGLOBAL               hPageSetupTemplate;
} PRINTDLGEXW, *LPPRINTDLGEXW;

下面是一些关键字段的解释:

  •  lStructSize: 结构的大小,以字节为单位。

  •  hwndOwner: 拥有对话框的窗口句柄。

  •  hDevMode: 用于传递或接收有关打印机的信息的全局内存句柄。

  •  hDevNames: 用于传递或接收与设备相关的信息的全局内存句柄。

  •  hDC: 用于在打印对话框中初始化打印机设置的设备上下文句柄。

  •  Flags: 控制对话框的外观和行为的标志。

  •  nPageRanges: 页面范围数组的元素数。

  •  nMinPage, nMaxPage: 用户可以输入的页码范围。

  •  nCopies: 打印份数。

  •  lpPageRanges: 指向 PAGESETUPDLGW 结构的指针,用于指定允许打印的页面范围。


此结构的使用通常涉及到创建一个 PRINTDLGEXW 结构,将所需的信息填充到结构的字段中,然后将其传递给 PrintDlgExW 函数以显示打印对话框。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25037/Win32 API/Commdlg.h/PRINTDLGEXW