2009-01-19 4 views
0

J'essaie de comprendre comment imprimer en C++. Je veux obtenir le contexte de périphérique en utilisant la fonction PrintDlgEx, qui nécessite une structure PRINTDLGEX. Cependant, je ne peux pas créer un PRINTDLGEX car il dit qu'il n'est pas déclaré. J'ai inclus le Commdlg.h et Windows.h et lié le Comdlg32.lib, mais tout en vain. Y a-t-il quelque chose qui me manque? Je peux aller dans le fichier d'en-tête Commdlg et voir que PRINTDLGEX est déclaré, mais pour une raison quelconque je ne peux pas l'utiliser? Mon système d'exploitation est Windows Vista.Win32 impression C++ PRINTDLGEX non déclaré?

Répondre

0

Vous devez déclarer que votre version Windows cible est suffisamment moderne pour supporter la structure, les valeurs par défaut supposent quelque chose d'ancien. Généralement, cela sera fait dans votre fichier stdafx.h. Ces définitions doivent précéder l'inclusion des fichiers d'en-tête Windows.

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