typedef struct tagPDEXA {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Flags;
DWORD Flags2;
DWORD ExclusionFlags;
DWORD nPageRanges;
DWORD nMaxPageRanges;
LPPRINTPAGERANGE lpPageRanges;
DWORD nMinPage;
DWORD nMaxPage;
DWORD nCopies;
HINSTANCE hInstance;
LPCSTR lpPrintTemplateName;
LPARAM lpCallback;
DWORD nPropertyPages;
HPROPSHEETPAGE* lphPropertyPages;
DWORD nStartPage;
DWORD dwResultAction;
} PRINTDLGEXA, *LPPRINTDLGEXA;
这个结构用于向打印对话框传递参数,然后通过调用 PrintDlgEx 函数显示对话框,用户可以设置打印的各种参数。
以下是结构的各个成员的说明:
- lStructSize: 结构的大小,以字节为单位,用于指定结构的大小。在调用 PrintDlgEx 函数之前,必须将此字段设置为结构的大小,通常使用 sizeof(PRINTDLGEXA)。
- hwndOwner: 拥有对话框的窗口的句柄。
- hDevMode: 一个全局内存句柄,指向一个 DEVMODE 结构,其中包含设备模式信息。
- hDevNames: 一个全局内存句柄,指向一个 DEVNAMES 结构,其中包含设备名称信息。
- hDC: 打印对话框使用的设备上下文句柄。
- Flags: 用于设置对话框的标志,例如是否显示“帮助”按钮等。
- Flags2: 用于设置对话框的额外标志。
- ExclusionFlags: 用于设置对话框的排除标志。
- nPageRanges: 用户选择的打印页范围的数量。
- nMaxPageRanges: 打印页范围的最大数量。
- lpPageRanges: 一个指向 PRINTPAGERANGE 结构数组的指针,指定用户选择的打印页范围。
- nMinPage, nMaxPage: 可以打印的页范围的最小和最大值。
- nCopies: 打印份数。
- hInstance: 应用程序实例的句柄。
- lpPrintTemplateName: 打印对话框模板的名称。
- lpCallback: 一个指向打印对话框回调函数的指针。
- nPropertyPages: 属性页的数量。
- lphPropertyPages: 一个指向属性页数组的指针。
- nStartPage: 对话框应该显示的起始页。
- dwResultAction: 返回用户在对话框中执行的操作。
请注意,如果你的应用程序使用 Unicode 字符串,应使用 PRINTDLGEXW 结构,以便支持 Unicode 版本的对话框。
转载请注明出处:http://www.zyzy.cn/article/detail/25036/Win32 API/Commdlg.h/PRINTDLGEXA