CListCtrl的派生类CMyListCtrl的DrawItem()函数里添加代码

  CDC *pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
if (lpDrawItemStruct->itemState && LVIS_SELECTED)
{
CPen PenLine(PS_SOLID, , RGB(, , ));
CPen *OldPenLine = pDC->SelectObject(&PenLine);
rcItem.right -= ;
rcItem.bottom -= ;
pDC->MoveTo(rcItem.left, rcItem.top);
pDC->LineTo(rcItem.right, rcItem.top);
pDC->MoveTo(rcItem.left, rcItem.top);
pDC->LineTo(rcItem.left, rcItem.bottom);
pDC->MoveTo(rcItem.left, rcItem.bottom);
pDC->LineTo(rcItem.right, rcItem.bottom);
pDC->MoveTo(rcItem.right, rcItem.top);
pDC->LineTo(rcItem.right, rcItem.bottom);
pDC->SelectObject(OldPenLine);
rcItem.DeflateRect(, , , );
COLORREF m_color = RGB(, , ); for (int i = rcItem.Height() / ; i>; i--)
{
CPen pen(PS_SOLID, , m_color);
CPen *OldPen = pDC->SelectObject(&pen);
pDC->MoveTo(rcItem.left, rcItem.top + i);
pDC->LineTo(rcItem.right, rcItem.top + i);
pDC->MoveTo(rcItem.left, rcItem.bottom - i);
pDC->LineTo(rcItem.right, rcItem.bottom - i);
pDC->SelectObject(OldPen);
}
pDC->SetTextColor(RGB(, , ));
}
else
{
pDC->SetTextColor(RGB(, , ));
CBrush brush;
brush.CreateSolidBrush(RGB(, , ));
pDC->FillRect(rcItem, &brush);
}
CString strText = GetItemText(nRow, );
CRect rcSubItem;
GetSubItemRect(nRow, , LVIR_LABEL, rcSubItem);
pDC->DrawText(strText, rcSubItem, DT_CENTER);

PenLine是在框内画线,模仿被选中的样子

图元的线型
PS_SOLID 实线
PS_DASH 虚线
PS_DOT 点线
PS_DASHDOT 点化线
PS_DASHDOTDOT 双点化线

最新文章

  1. 迷你版jQuery——zepto核心源码分析
  2. SQL Server 2012 学习笔记2
  3. 【JAVA】Quartz 任务调度和异步执行器
  4. Swift面向对象基础(中)——Swift中的存储属性和计算属性
  5. 【运维手记】virtualbox中centOS安装增强功能
  6. Postfix 电子邮件系统精要
  7. rfc的资料
  8. C#邮件接收系统核心代码(接收POP3邮件IMAP邮件)
  9. C#构造函数里的base和this的区别
  10. CF-599B - Spongebob and Joke
  11. 从零开始学C++之动态创建对象
  12. 为 Java 程序员准备的 Go 入门 PPT
  13. 12.scrapy框架之递归解析和post请求
  14. MySQL行级锁测试
  15. python中的partition、rpartition
  16. HTML5 Canvas 小例子 旋转的时钟
  17. “全栈2019”Java多线程第二十八章:公平锁与非公平锁详解
  18. 【代码笔记】iOS-动画的跳转
  19. linux-radhat-gitlab服务搭建
  20. 模仿Masonary写一个计算器

热门文章

  1. legend---三、方法集思路
  2. 3.AngularJS-过滤器
  3. POJ 3629 队列模拟
  4. UVA And Then There Was One
  5. 手动删除oracle数据库
  6. Js怎么获取DOM及获取浏览器的宽高?
  7. CODEVS——T1961 躲避大龙
  8. Android数据库高手秘籍(三)——使用LitePal升级表
  9. J2SE基础:2.对象的创建与使用
  10. 谈谈 .NET Reflector