设置CListCtrl的一个属性:LVS_SHOWSELALWAYS
解决方案 »
- 如何在vs2012中比较两个本地代码文件
- VB的记录集,直接传入VC的DLL中,能读出,但退出函数时,DLL总是报错
- 如何动态创建CListCtrl
- 全局钩子没清除干净怎么办?
- vs2005生成DLL的问题
- 怎样从已经有的XML文件读出数据,插入新XML文件?
- 利用VC开发一个新的ActiveX控件,可否从已有的ActiveX继承过来?
- 关于调用Linux下移植到windows下的代码编COM dll组件的问题。
- 基础不扎实:想在一个字符串中确定有没有某个子串,(不区分大小写),发现str???函数都不合适,大家有没有好的函数(不是CString)
- if (pUpdateData[1] & (1 << PLC_W2_BIT_SKQJTS )) {}
- 关于CListView和CTreeView的背景图问题?
- 如何访问资源文件中的HTML
你应该自己画选中的item
SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_SHOWSELALWAYS);
大致如下:afx_msg void OnCustomdraw(NMHDR*, LRESULT*);
ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomdraw)void CInfoList::OnCustomdraw(NMHDR* pNMHDR, LRESULT* pResult)
{
NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );
*pResult = 0;switch(pLVCD->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
*pResult = CDRF_NOTIFYITEMDRAW; // ask for item otifications.
break;case CDDS_ITEMPREPAINT:
*pResult = CDRF_NOTIFYSUBITEMDRAW;
break;case CDDS_ITEMPREPAINT | CDDS_SUBITEM:
int nItem = static_cast<int>(pLVCD->nmcd.dwItemSpec);// nItem表示item的index
if(...)// 这里加入判断是否被选中的代码
{
crText = RGB(cr1);
crBkgnd = RGB(cr2); // cr1和cr2分别为高亮显示时的文本和背景色,自己查一下
}
*pResult = CDRF_DODEFAULT;
break;
default:
*pResult = CDRF_DODEFAULT;
}
}
[email protected]