在 MFC(Microsoft Foundation Classes)中,CPrintDialog 类的 GetDefaults 方法已被弃用(deprecated)并且不再推荐使用。相反,建议使用 CPrintDialog::GetDefaults 的替代方法 CPrintDialog::GetDefaultsEx。

CPrintDialog::GetDefaultsEx 方法与 GetDefaults 类似,但提供了更多的选项。它返回一个 PRINTDLGEX 结构,其中包含有关打印对话框的默认设置信息。

以下是使用 CPrintDialog::GetDefaultsEx 方法的示例:
CPrintDialogEx printDlg(FALSE, PD_ALLPAGES | PD_USEDEVMODECOPIESANDCOLLATE | PD_NOPAGENUMS | PD_HIDEPRINTTOFILE, NULL);

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

    // 获取默认设置信息
    PRINTDLGEX pdex = { sizeof(PRINTDLGEX) };
    printDlg.GetDefaultsEx(&pdex);

    // 现在你可以使用 pdex 结构中的信息来进行相应的操作
}

请注意,CPrintDialogEx 是 CPrintDialog 的扩展类,支持新的打印对话框(PRINTDLGEX)。在示例中,PD_ALLPAGES | PD_USEDEVMODECOPIESANDCOLLATE | PD_NOPAGENUMS | PD_HIDEPRINTTOFILE 是对话框的一些标志,你可以根据需要进行调整。


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