Reputation: 94
I want to change the color of all Target Name to red Include in Name1, Name2, and Name3. And every test name to black or its default color. lvColumn type is LVCOLUMN. Any Idea how to do that?................
lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
lvColumn.fmt = LVCFMT_LEFT;
lvColumn.cx = 120;
lvColumn.pszText = "Name1";
m_szList.InsertColumn(0, &lvColumn);
lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
lvColumn.fmt = LVCFMT_LEFT;
lvColumn.cx = 75;
lvColumn.pszText = "Name2";
m_szList.InsertColumn(1, &lvColumn);
lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
lvColumn.fmt = LVCFMT_LEFT;
lvColumn.cx = 80;
lvColumn.pszText = "Name3";
m_szList.InsertColumn(2, &lvColumn);
LVITEM lvItem;
int nItem;
lvItem.mask = LVIF_TEXT;
lvItem.iItem = 0;
lvItem.iSubItem = 0;
lvItem.pszText = "Test1";
nItem = m_szList.InsertItem(&lvItem);
m_szList.SetItemText(nItem, 1, "Target");
m_szList.SetItemText(nItem, 2, "Test3");
lvItem.mask = LVIF_TEXT;
lvItem.iItem = 1;
lvItem.iSubItem = 0;
lvItem.pszText = "Test2";
nItem = m_szList.InsertItem(&lvItem);
m_szList.SetItemText(nItem, 1, "Test1");
m_szList.SetItemText(nItem, 2, "Target");
lvItem.mask = LVIF_TEXT;
lvItem.iItem = 2;
lvItem.iSubItem = 0;
lvItem.pszText = "Target";
nItem = m_szList.InsertItem(&lvItem);
m_szList.SetItemText(nItem, 1, "Test1");
m_szList.SetItemText(nItem, 2, "Test2");
Upvotes: 0
Views: 1362
Reputation: 6556
You need to handle the NM_CUSTOMDRAW
message and change the text color in that handler.
Upvotes: 1