我想自定义 Windows 资源管理器。
如果文件有特殊条件,我想做的一件事是在列表视图中更改文件名的颜色。
是否可以通过窗口子类化?还是需要 api 挂钩?
请让我知道最好的方法是什么。
谢谢。
我想自定义 Windows 资源管理器。
如果文件有特殊条件,我想做的一件事是在列表视图中更改文件名的颜色。
是否可以通过窗口子类化?还是需要 api 挂钩?
请让我知道最好的方法是什么。
谢谢。
是的,您可以使用窗口子类化来做到这一点:
将 NM_CUSTOMDRAW 处理程序添加到 CListCtrl 派生类
void CMyList::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDRAW)pNMHDR;
switch (lplvcd->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
*pResult = CDRF_NOTIFYITEMDRAW;
break;
case CDDS_ITEMPREPAINT:
*pResult = CDRF_NOTIFYSUBITEMDRAW;
break;
case CDDS_ITEMPREPAINT | CDDS_SUBITEM:
lplvcd->clrText = **MY_COLOR**;
*pResult = CDRF_DODEFAULT;
}
}