PRINTDLGA 结构是 Windows 操作系统中用于设置和检索打印对话框参数的 ANSI 版本的结构。以下是 PRINTDLGA 结构的定义:
typedef struct tagPRINTDLGA {
  DWORD         lStructSize;
  HWND          hwndOwner;
  HGLOBAL       hDevMode;
  HGLOBAL       hDevNames;
  HDC           hDC;
  DWORD         Flags;
  WORD          nFromPage;
  WORD          nToPage;
  WORD          nMinPage;
  WORD          nMaxPage;
  WORD          nCopies;
  HINSTANCE     hInstance;
  LPARAM        lCustData;
  LPPRINTHOOKPROC lpfnPrintHook;
  LPSETUPHOOKPROC lpfnSetupHook;
  LPCSTR        lpPrintTemplateName;
  LPCSTR        lpSetupTemplateName;
  HGLOBAL       hPrintTemplate;
  HGLOBAL       hSetupTemplate;
} PRINTDLGA, *LPPRINTDLGA;

这个结构用于向打印对话框传递参数,然后通过调用 PrintDlg 函数显示对话框,用户可以设置打印的各种参数。

以下是结构的各个成员的说明:

  •  lStructSize: 结构的大小,以字节为单位,用于指定结构的大小。在调用 PrintDlg 函数之前,必须将此字段设置为结构的大小,通常使用 sizeof(PRINTDLGA)。


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


  •  hDevMode: 一个全局内存句柄,指向一个 DEVMODE 结构,其中包含设备模式信息。


  •  hDevNames: 一个全局内存句柄,指向一个 DEVNAMES 结构,其中包含设备名称信息。


  •  hDC: 打印对话框使用的设备上下文句柄。


  •  Flags: 用于设置对话框的标志,例如是否显示“帮助”按钮等。


  •  nFromPage, nToPage: 用户选择的打印页范围。


  •  nMinPage, nMaxPage: 可以打印的页范围的最小和最大值。


  •  nCopies: 打印份数。


  •  hInstance: 应用程序实例的句柄。


  •  lCustData: 传递给挂钩过程的应用程序定义的数据。


  •  lpfnPrintHook: 一个指向打印对话框挂钩过程的指针。


  •  lpfnSetupHook: 一个指向打印设置对话框挂钩过程的指针。


  •  lpPrintTemplateName: 打印对话框模板的名称。


  •  lpSetupTemplateName: 打印设置对话框模板的名称。


  •  hPrintTemplate: 一个全局内存句柄,指向打印对话框模板。


  •  hSetupTemplate: 一个全局内存句柄,指向打印设置对话框模板。


请注意,如果你的应用程序使用 Unicode 字符串,通常应使用 PRINTDLGW 结构,以便支持 Unicode 版本的对话框。


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