视频教程

https://www.bilibili.com/video/BV1Eb7K6bEiQ/
如果觉得视频不够清析的请通过上面链接可以查看高清版本。

方法2:消息印射
ListViewTest.h里面
LRESULT NotifyListViewGetColor(WPARAM wParam, LPARAM lParam);

ListViewTest.cpp里面

BEGIN_MESSAGE_MAP(ListViewTest, CDialogEx)
ON_MESSAGE(KB_LISTVIEW_GETTEXTCOLOR, NotifyListViewGetColor)
END_MESSAGE_MAP()

LRESULT ListViewTest::NotifyListViewGetColor(WPARAM wParam, LPARAM lParam)
{
KB_ListViewGetTextColorUct* pLGTCU = (KB_ListViewGetTextColorUct*)wParam;
if (pLGTCU == NULL) return FALSE;

pLGTCU->hWnd; //发送消息的窗口句柄,可对此句柄进行匹配
pLGTCU->UCtrlID; //发送消息的窗口ID,可对此ID进行匹配(ID和句柄可自行选择,哪个方便用哪个)
pLGTCU->BState; //指向当前行和列的状态,详情见 KB_CONTROL_STATE...
pLGTCU->nItem; //得到对应行
pLGTCU->nColumn; //得到对应列
return 0xFF0000; //反回红色
}