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 双点化线

自绘listCtrl控件选中该行高亮(模拟windows)的更多相关文章

  1. ListCtrl控件

    一 CListCtrl类型 LVS_EDITLABELS LVS_OWNERDRAWFIXED LVS_REPORT LVS_SHOWSELALWAYS LVS_SINGLESEL LVS_SMALL ...

  2. VC/MFC ListCtrl 控件功能使用汇总(转)

    以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以 “ListView_”开头的一些宏.如 ListView_InsertCol ...

  3. LISTCTRL控件方法

    以下未经说明,listctrl默认view风格为report --------------------------------------------------------------------- ...

  4. duilib中ListCtrl控件的实现

    转载请说明出处,谢谢~~ 昨天在编程群里聊天,提到了ListCtrl,然后有网友找我,他需要做一个ListCtrl控件,我看过需求后接下了这个活.今天就把大致的思路和过程记录一下.首先看<任务书 ...

  5. 重绘MenuStrip 控件

    重绘MenuStrip控件 效果如图: 首先添加 CustomProfessionalRenderer类 用于重绘控件菜单样式 /// <summary> /// 自定义MenuStrip ...

  6. ListCtrl控件的使用

    list contrl控件的使用 .建立基于对话框的应用程序,布置界面,设置属性. 注意添加的是listctrl控件,不是listbox控件,在控件工具箱的倒数第五行list control控件. 属 ...

  7. Jquery Mobile下设置radio控件选中

    问题: .html文件头部引入了: <script src="js/jquery.js"></script> <script src="js ...

  8. ListCtrl控件着色

    最近在写一款山寨的反病毒软件,大致功能已经实现,还有一些细小的环节需要细化. 其中,在界面编程中,就用到了给ListCtrl控件着色,查看了网上一些文章,终于实现了. 其实说白了,原理很简单,就是Li ...

  9. WPF如何更改系统控件的默认高亮颜色 (Highlight brush)

    我们在用WPF时, 经常会对系统控件的默认高亮等等颜色进行更改. 以前通常是用controlTemplate来实现. 今天发现一个更合理或者简单的方法: 用系统默认颜色的key, 比如 SystemC ...

随机推荐

  1. hdu1879 继续畅通project(最小生成树)

    继续畅通project Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  2. vue26-2.0循环

    3. 循环 2.0里面默认就可以添加重复数据 arr.forEach(function(item,index){ }); 去掉了隐式一些变量 $index $key 之前: v-for="( ...

  3. Java main方法中的String[] args

    -- Java 命令行参数 -- 关于其中的args以及public static / static public Java 命令行参数 前面已经看到多个使用Java数组的示例,每一个Java应用程序 ...

  4. 2017-2018年红头发新版Cisco认证网络工程师(CCNA-R&S)全新讲解分享

    网名"红头发",多年授课经验,业内资深思科认证讲师,其所写的CISCO认证原创技术文章风靡各大网站与培训机构.精通CISCO各类路由交换产品,熟悉JUNIPER M/T系列路由产品 ...

  5. jQuery UI炫酷雨滴落在水面上的波纹涟漪特效

    raindrops是一款效果很炫酷的jQuery UI雨滴落在水面上的特效. 该特效模拟水滴从空中落入平静的水面上的效果. 通过參数能够设置水面波纹的大小,强度,波纹扩散的速度等等属性. 效果演示:h ...

  6. 手动连接数据库(jdbc)

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  7. js---18miniJquery

    <html> <head> <title>jQuery test</title> </head> <body> <div ...

  8. smarty课程---最最最简单的smarty例子

    smarty课程---最最最简单的smarty例子 一.总结 一句话总结:其实所有的模板引擎的工作原理是差不多的,无非就是在php程序里面用正则匹配将模板里面的标签替换为php代码从而将两者混合为一个 ...

  9. amaze ui表格斑马纹效果

    amaze ui表格斑马纹效果 需要注意的是样式的写法,都是 am-table- ,很好记的 如果是条纹就是striped,如果是hover状态就是hover 用法很简单,点对应class,不同的cl ...

  10. pix格式的摸索(二)

    作者:朱金灿 来源:http://blog.csdn.net/clever101 PCI的系统格式pix是一个设计很巧妙的遥感图像格式,而且其设计巧妙之处不止一处两处,这些都有待我日后一一去摸索.今天 ...