在 MFC 中,CPrintDialog 类的 m_pd 是一个 PRINTDLG 结构体,它包含有关打印对话框的信息。m_pd 的成员可以用于获取和设置与打印对话框相关的参数。以下是一些常用的 m_pd 成员:

  •  m_pd.hDC: 打印设备上下文(Device Context)的句柄。

  •  m_pd.Flags: 包含有关对话框的标志,可以用于确定用户的选择。

  •  m_pd.nFromPage 和 m_pd.nToPage: 用户选择的打印范围的起始页和结束页。

  •  m_pd.nCopies: 打印份数。


您可以在调用 DoModal 后,通过访问 m_pd 成员来获取用户在打印对话框中所做的选择。以下是一个简单的示例:
CPrintDialog printDlg(FALSE);

if (printDlg.DoModal() == IDOK) {
    // 用户点击了“确定”按钮

    // 获取选定的打印机设备上下文
    CDC dcPrinter;
    dcPrinter.Attach(printDlg.GetPrinterDC());

    // 获取选定的打印选项
    PRINTDLG pd;
    pd = printDlg.GetParameters();

    // 使用 pd 中的成员进行操作,例如获取打印范围、份数等
    int fromPage = pd.nFromPage;
    int toPage = pd.nToPage;
    int numCopies = pd.nCopies;

    // 在这里执行打印操作,使用 dcPrinter 进行绘制
    // ...

    // 分离打印机设备上下文
    dcPrinter.Detach();
}

请注意,PRINTDLG 结构的具体成员可能会因不同的 MFC 版本而有所不同。因此,建议查阅相应版本的 MFC 文档以获取准确的信息。


转载请注明出处:http://www.zyzy.cn/article/detail/21767/MFC/CPrintDialog