据我所知的两种方法。一种是重写DrawItem。在网上还看到一种重写NM_CUSTOMDRAW。不知道这两种。那个好用些。我用DRAWITEM。不知道怎么在LISTCTRL里加数据。用InsertItem没有起作用

解决方案 »

  1.   

    custom draw NM_CUSTOMDRAW如果是简单的自绘可以采纳,程序需要链接到comctl32.dll version6,添加的代码相对少些
    owner draw 需要设置控件的owner draw style,需要完全编写控件的绘制代码,相对麻烦
      

  2.   

    能给个DRAWITEM的教程吗?我老是整错。谢谢。网上代码有点乱。老外的代码十分复杂。
      

  3.   

    DrawItem的方法叫OwnerDraw,基本上所有控件甚至菜单都支持。而CustomDraw是后来的技术,只有树型控件、列表等支持。前者需要自己负责控件所有状态的绘制。后者也是在系统默认绘制每一步的间隙会通知你,可以简化列表这类复杂绘制的过程,只需要在需要的时候响应相应的绘制消息就可以了。列表建议用后者,你的插入条目失效明显是绘制工作没做全,列表绘制很复杂的。
      

  4.   


    我按照MSDN的方法弄了一个LISTBOX的重绘,但是只能ADDSTRING一项。再加一项就出错,是什么问题?