仔细研究部一下就知道LVS_OWNERDATA是在commctrl.h定义的,但有条件的。如果不幸没打开条件,这些东东就都是未定义了。
#if (_WIN32_IE >= 0x0300)
....
#if (_WIN32_WINNT >= 0x501)
#define LVBKIF_FLAG_TILEOFFSET 0x00000100
#define LVBKIF_TYPE_WATERMARK 0x10000000
#endif /* _WIN32_WINNT >= 0x501 */
#define LVS_OWNERDATA 4096
所以关键的是,你代码有没有把_WIN32_IE定义的值在0x0300之上。