显示打印对话框

【勇芳软件工作室】汉化HomePreviousNext

本主题描述显示“打印”对话框的示例代码,以便用户可以选择打印文档的选项。示例代码首先初始化PRINTDLG结构,然后调用PrintDlg函数显示对话框。

此示例将在PRINTDLG结构的成员中设置PD_RETURNDC标志。这导致PrintDlghDC成员中返回所选打印机的设备上下文句柄。您可以使用句柄在打印机上显示输出。

在输入时,示例代码将hDevModehDevNames成员设置为NULL。如果函数返回TRUE,这些成员将返回包含用户输入的DEVMODEDEVNAMES结构的句柄和有关打印机的信息。您可以使用此信息来准备要发送到所选打印机的输出。

PRINTDLG pd;
HWND hwnd;

//初始化PRINTDLGen
ZeroMemory(&pd, sizeof(PRINTDLG));

pd.lStructSize = sizeof(PRINTDLG);
pd.hwndOwner = hwnd;
pd.hDevMode = NULL; //不要忘记释放或存储hDevMode。
pd.hDevNames = NULL; //不要忘记释放或存储hDevNames。
pd.Flags = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC;
pd.nCopies = 1;
pd.nFromPage = 0xFFFF;

pd.nToPage = 0xFFFF;

pd.nMinPage = 1;

pd.nMaxPage = 0xFFFF;


if (PrintDlg(&pd)==TRUE) {

// GDI调用来渲染输出。

//完成后删除DC。
DeleteDC(pd.hDC);
}