【问题标题】:win32 C++ printing PRINTDLGEX not declared?win32 C++ 打印 PRINTDLGEX 未声明?
【发布时间】:2009-01-19 07:01:24
【问题描述】:

我想弄清楚如何用 C++ 打印。我想使用 PrintDlgEx 函数获取设备上下文,该函数需要 PRINTDLGEX 结构。但是,我无法创建 PRINTDLGEX,因为它说它未声明。我已经包含了 Commdlg.h 和 Windows.h 并链接了 Comdlg32.lib,但都无济于事。有什么我想念的吗?我可以进入 Commdlg 头文件并看到 PRINTDLGEX 已声明,但由于某种原因我不能使用它?我的操作系统是 Window Vista。

【问题讨论】:

    标签: c++ winapi printing


    【解决方案1】:

    它可能未声明,因为它位于从 Commdlg.h 的第 878 行开始的 #ifdef STDMETHOD 块中

    STDMETHOD 定义在basetyps.h

    这篇 Customizing PrintDlgEx and IPrintDialogCallback 的帖子也可能有用。

    【讨论】:

      【解决方案2】:

      您需要声明您的目标 Windows 版本足够现代以支持该结构,默认值假定一些古老的东西。通常这将在您的stdafx.h 文件中完成。这些定义必须在 Windows 头文件的包含之前。

      #define WINVER 0x0500
      #define _WIN32_WINNT 0x0500
      #define _WIN32_IE 0x0501
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-11
        • 1970-01-01
        • 2012-09-04
        • 1970-01-01
        • 2017-08-31
        • 1970-01-01
        • 2014-12-19
        • 2020-12-20
        相关资源
        最近更新 更多