更改 CListCtrl 中特定项目的颜色?
Change Specific Items Color in CListCtrl?
我想将所有目标名称的颜色更改为红色包括在名称 1、名称 2 和名称 3 中。并且每个测试名称为黑色或其默认颜色。
lvColumn 类型是 LVCOLUMN。
知道怎么做吗?................
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");
您需要处理 NM_CUSTOMDRAW
消息并更改该处理程序中的文本颜色。
我想将所有目标名称的颜色更改为红色包括在名称 1、名称 2 和名称 3 中。并且每个测试名称为黑色或其默认颜色。 lvColumn 类型是 LVCOLUMN。 知道怎么做吗?................
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");
您需要处理 NM_CUSTOMDRAW
消息并更改该处理程序中的文本颜色。