像QQ的好友列表的界面是咋实现地呢
想了n天都不知道怎么来实现这个列表可以怎么来实现
望高手支招,呵呵
分不够可再加

解决方案 »

  1.   

    http://hi.csdn.net/attachment/201003/19/2154445_126898141089VS.jpg
    他那个是用ringSdk做的,我是想知道,如果用mfc或者api怎么来实现呢
    而不是用别人的库去实现
      

  2.   

    http://topic.csdn.net/u/20100108/10/ebe0aae8-0148-417b-ba80-ef1119f0c6a4.html?94482
    好好学吧,不过他是用自己封装的一个界面库!!
      

  3.   

    自己做当然可以
    不过你要下功夫才行
    从简单的控件自绘开始
    一个一个的重载MFC的标准控件
    慢慢的你就有思路了
      

  4.   

    http://topic.csdn.net/u/20100108/10/ebe0aae8-0148-417b-ba80-ef1119f0c6a4.html?94482
      

  5.   

    对。网上这个的例子很多。你去下载一个参考一下。参透了代码思路自然就有了。像这个界面我想肯定是自绘了Clist这样的类或者试试封装一个CStatic这样的类去试试
      

  6.   

    这个绝对不是继承于CList或者CTreeCtrl的,因为这里可以实现不等高的
    而微软提供的TreeView是不能够这样的,CTreeCtrl只是对TreeView的封装
    网上很多的都是以前的列表,达不到QQ2009和QQ2010的这种效果
    而且,据我所知,QQ的控件其实大部分都是只从CObject来继承,相当于自己的一套框架了所以来说,应该不是绘制CListCtrl或者CTreeCtrl
    而是从CWnd来自己定义一个
      

  7.   

    自己gdi画也不是什么难事啊
    就是你的数据结构记录每一项的参数 比如大小、颜色、透明度啥的
    在OnPaint中绘制 每一项在特定的矩形区内绘制出数据来 可以是一个合成好的位图或者再加点文字、图标啥的 没有难度 但是很麻烦就是了 费功夫
      

  8.   

    这个csdn上面有个高手的博客上有,叫做QQ界面仿真循序渐进
      

  9.   

    我自己做出来落了,不是CListCtrl和CTreeCtrl做的,也算是自绘吧
      

  10.   

    哇塞,挺好的
    就是你那个鼠标移动上时宽大变大,我做的怎么都不如意,我是在WM_mousemove里面判断然后发送LB_SETITEMHEIGHT来改变的,不知道你是怎么做的啊,还望能告知一二
      

  11.   

    http://topic.csdn.net/u/20100314/22/6b2a04dc-98d7-4a5c-9ce1-1a2fb715dde2.html?97900看这个!
      

  12.   

    CTreeCtrl就可以。 标准的CTreeCtrl是支持不等高输出的。
      

  13.   

    一个是不用任何控件,自己实现窗口。
    还有就是用ListBox,我在http://blog.csdn.net/ringphone/archive/2010/02/11/5306231.aspx里已经说了思路,实现不等高选项,创建ListBox时需要指定LBS_OWNERDRAWVARIABLE类型,还有ListBox控件默认是会计算控件高度并调整尺寸适应列表项的高度,不会在客户区显示不完整的列表选项,这个功能不需要,因此还需指定LBS_NOINTEGRALHEIGHT类型,不自动调整高度,再指定一下LBS_HASSTRINGS|LBS_NOTIFY|WS_VSCROLL常规类型,然后就是在父窗口的WM_DRAWITEM消息里进行列表选项的自绘了。可以通过发送LB_SETITEMHEIGHT消息设定选项的高度,不过这个高度是限定在1~255像素之间。