关于CListCtrl的重绘问题
山伟 2009-09-07 06:25:43 我现在要将一个CImageList放到一个继承自CListCtrl的列表视图中。
现在已经将读入的Image插入到CListCtrl中了,现在的效果就像windows中文件夹缩略图的样子,被选中后Image的rect按照BORDERSELECT属性出现一个边框。
但是我需要选中后的效果像Adobe\Reader9.0那样选中后Image的地方不变,而Image外有一个大的背景(类似图片被选中时出现的半透明效果),请大侠们给出出注意,我该怎么做?思路对了也给分!谢谢
另外:
在void CMyListCtrl::OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDRAW)pNMHDR;
switch(lplvcd->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
{
*pResult = CDRF_NOTIFYITEMDRAW; // ask for item notifications.
break;
}
case CDDS_ITEMPREPAINT:
{
*pResult = CDRF_NOTIFYITEMDRAW;
}
case CDDS_ITEMPOSTPAINT:
*pResult = CDRF_SKIPDEFAULT;
break;
default:
*pResult = CDRF_DODEFAULT;
break;
}
}
这里我不知道应该如何写
查询msdn后对于lplvcd->nmcd.dwDrawStage的几种绘制阶段看不明白,他们的执行顺序是什么?请高手讲解下OnNMCustomdraw