希望在不改变默认类的情况下,实现插入不同行显示不同颜色,我现在用的是多column。
         m_equipmentlistctl.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT); char tmp[1024];
memset(tmp,0,1024);
sprintf(tmp,"主站编号");
m_equipmentlistctl.InsertColumn(0,tmp,LVCFMT_CENTER,70);
memset(tmp,0,1024);
sprintf(tmp,"DTU编号");
m_equipmentlistctl.InsertColumn(1,tmp,LVCFMT_CENTER,80);
然后循环插入数据库的值,现在想实现的效果是不同行显示不同色彩以区分。

解决方案 »

  1.   

    够呛吧,应该重载DrawItem虚函数怎么
      

  2.   

    用CListCtrl的一个派生扩展类:CSortListCtrl
    http://www.codeproject.com/listctrl/sortlistctrl.asp
    CSortListCtrl::SetItemColor(...)
      

  3.   

    1.设置行高.        2.设置每一列的格式(_COLUMN_FORMAT),这个用于在排序时区分是以字符串,还是以数字.        3.设置每一行的背景颜色.(如一些数据需要着重显示给用户)(当然也就可以交替显示了,是不是楼主正需要的呢?哈哈!)        4.设置每一个SubItem的字体,大小,前景色,背景色.(如一些数据需要着重显示给用户).        5.可以设置每一个SubItem在位即时编辑它.目前的版本实现了以CEdit为编辑框的编辑,支持只读编辑与在正常的编辑,并能设置CEdit的格式字体,颜色,背景(在缺省情况下与当前激活它的subitem同一属性),并且还能设置CEdit接收输入的字符(如:只允许为数字的字符编辑),在目前的版本中还未实现mask edit.        6.可以设置每一个SubItem在位即时编辑它.目前的版本还实现了以Combo box,list box为下拉框的数据选择.并且也支持能设置它们的属性.同上.        7.并且还可以让它自动保存每列设置的宽度,以便下次启动时和上次一样.
            8,当SubItem的宽度不能完全显示完数据时,当鼠标移上时会自显示Text Toop tip.        9,新的功能还在增加中....
    这个_CListCtrlEx是我自己重写的哈.
    有什么需要或帮助可以发邮件到[email protected]联系我哈.
      

  4.   

    当然你可以通过NM_CUSTOMEDRAW或DrawItem来实现.我觉得用DrawItem来功能将会强大很多.