- //////////////////////////////////////////////////////////////
- LRESULT ListViewCustomDraw(HWND hwnd, LPARAM lParam)
- {
- LPNMHDR pnmh = (LPNMHDR) lParam;
- if (pnmh->code != NM_CUSTOMDRAW) return 0;
- LPNMLVCUSTOMDRAW lpNMCustomDraw = (LPNMLVCUSTOMDRAW) lParam;
- int nResult = CDRF_DODEFAULT;
- if (CDDS_PREPAINT == lpNMCustomDraw->nmcd.dwDrawStage)
- {
- nResult = CDRF_NOTIFYITEMDRAW;
- }
- else if (CDDS_ITEMPREPAINT == lpNMCustomDraw->nmcd.dwDrawStage)
- {
- nResult = CDRF_NOTIFYSUBITEMDRAW;
- }
- else if ((CDDS_ITEMPREPAINT | CDDS_SUBITEM) == lpNMCustomDraw->nmcd.dwDrawStage)
- {
- nResult = CDRF_SKIPDEFAULT;
- const DWORD dwStyle = DT_LEFT | DT_SINGLELINE | DT_VCENTER | DT_NOPREFIX | DT_END_ELLIPSIS;
- HDC hdc = lpNMCustomDraw->nmcd.hdc;
- SetBkMode(hdc,TRANSPARENT);
- int nItem = (int)lpNMCustomDraw->nmcd.dwItemSpec;
- int nSubItem = lpNMCustomDraw->iSubItem;
- BOOL bItemSelected = ListView_GetItemState(hwnd, nItem, LVIS_SELECTED);
- RECT subItemRect;
- ListView_GetSubItemRect(hwnd, nItem, nSubItem, LVIR_BOUNDS, &subItemRect);
- //
- HBRUSH brsh=0;
- if (bItemSelected)
- { //OutputDebugString("bItemSelected\n");
- brsh=CreateSolidBrush(RGB(255, 128, 128));//yellow
- FillRect(hdc, &subItemRect,brsh);
- }
- else
- {// not Selected
- brsh=CreateSolidBrush(RGB(51+nItem*30, 153, 255-nItem*30));
- FillRect(hdc, &subItemRect,brsh);
- }
- if(brsh) DeleteObject(brsh);
- //
- TCHAR szText[260];
- ListView_GetItemText(hwnd, nItem, nSubItem, szText, 260);
- DrawText(hdc, szText, strlen(szText), &subItemRect, dwStyle);
- }
- return nResult;
- }
关键:
else
{// not Selected
brsh=CreateSolidBrush(RGB(51+nItem*30, 153, 255-nItem*30));
FillRect(hdc, &subItemRect,brsh);
}
分类:
VC/MFC
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!