我想弄清楚如何用C ++打印。我想使用PrintDlgEx函数获取设备上下文,该函数需要PRINTDLGEX结构。但是,我无法创建PRINTDLGEX,因为它表示它未声明。我已经包含了Commdlg.h和Windows.h并链接了Comdlg32.lib,但都无济于事。有什么我想念的吗?我可以进入Commdlg头文件并看到PRINTDLGEX被声明,但由于某种原因我不能使用它?我的操作系统是Window Vista。
答案 0 :(得分:1)
它可能未声明,因为它位于Commdlg.h第878行的#ifdef STDMETHOD
区块内
STDMETHOD
在basetyps.h
答案 1 :(得分:0)
您需要声明目标Windows版本足够现代以支持该结构,默认值假设一些古老的东西。通常,这将在您的stdafx.h
文件中完成。这些定义必须在包含Windows头文件之前。
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#define _WIN32_IE 0x0501