#define'd identifiers in CommCtrl.h not playing nicely
Posted on 2007-11-16
Using VC++ .NET 2002.
As far as I can tell, I have #included CommCtrl.h correctly in my program. But some (not all) of the #define'd identifiers in that header cannot be found by the compiler. For example:
comCtl.dwICC=ICC_STANDARD_CLASSES | ICC_LISTVIEW_CLASSES;
The compiler swears ICC_STANDARD_CLASSES is undefined, but it does understand ICC_LISTVIEW_CLASSES. Also, when using the ListView control, LVS_EX_FULLROWSELECT and LVS_REPORT do not resolve, but WV_LISTVIEW does.
Now, to add a kicker to it . . . IntelliSense does resolve them properly when I hover over them with the mouse. Also, if I use the DWORD value for these supposedly undefined identifiers, (0x00004000 instead of ICC_STANDARD_CLASSES), the program compiles and runs just fine.
I have tried cleaning the project and rebuilding. No luck. I even manually deleted the IntelliSense database thinking that might have something to do with it. No luck.
What's going on here? It's not critical, but it's annoying as hell and making my code very hard to read.