The TVM_SETBKCOLOR message and its associated TreeView_SetBkColor() macro are only defined if the application specifies that Internet Explorer 4 or later must be installed on the target system.
In other words, the _WIN32_IE
preprocessor symbol must be set to 0x0400
or greater.
The relevant parts of the header file (lines 5752 to 5792 of CommCtrl.h
in version 7.0A of the Windows SDK) are:
#if (_WIN32_IE >= 0x0400)
/* [get/set item height...] */
#define TVM_SETBKCOLOR (TV_FIRST + 29)
#define TreeView_SetBkColor(hwnd, clr) \
(COLORREF)SNDMSG((hwnd), TVM_SETBKCOLOR, 0, (LPARAM)(clr))
#define TVM_SETTEXTCOLOR (TV_FIRST + 30)
#define TreeView_SetTextColor(hwnd, clr) \
(COLORREF)SNDMSG((hwnd), TVM_SETTEXTCOLOR, 0, (LPARAM)(clr))
#define TVM_GETBKCOLOR (TV_FIRST + 31)
#define TreeView_GetBkColor(hwnd) \
(COLORREF)SNDMSG((hwnd), TVM_GETBKCOLOR, 0, 0)
#define TVM_GETTEXTCOLOR (TV_FIRST + 32)
#define TreeView_GetTextColor(hwnd) \
(COLORREF)SNDMSG((hwnd), TVM_GETTEXTCOLOR, 0, 0)
/* [get/set scroll time...] */
/* [get/set insert mark color...] */
#endif /* (_WIN32_IE >= 0x0400) */