codeproject网站上去找吧,这种例子很多的

解决方案 »

  1.   

    大概有两种方式:
    1、使用MFC:
    (1)把每个联系人都做成子对话框,有多少个联系人就有多少个对话框。但是如果联系人有很多的话,将会有多个对话框,这是不可取的。
    (2)可以抽象出来一个类,一个联系人对应一个类的对象,将信息设置进去,在类中定义Draw接口,实现将信息及头像绘制到父窗口上,参数是父窗口的DC。至于绘制区域,根据联系人的个数,考虑到父窗口窗口大小有限,会涉及到滚动条,给每个联系人对象设置RECT区域,在类对象的Draw中,根据相对位置,将信息绘制出来。(当然要考虑拖动滚动条,item向下滚动显示)
      

  2.   

    2、使用duilib:使用基于directui的开源duilib,使用duilib中的CListUI控件,其中每个联系人对应一个CListElementUI,实现非常简单,效果也比较好。(duilib中自带的QQ demo就有这样的效果)
      

  3.   

    LS说的DUILIB网上有开源的,LZ开源去下载,里面有基于DUILIB的360,QQ、迅雷播放器等等DEMO源码你可以去参考一下
      

  4.   

    这个是DUILIB库自带的360、QQ的demo
      

  5.   

    最简单的,设置listbox为ownerdraw方式,然后重写DrawItem函数