自画式TListBox,很简单的。
Style = lbOwnerDrawFixed;
在事件OnDrawItem 和 OnMeasureItem 中写代码就搞定了。

解决方案 »

  1.   

    大侠,我在ondrawitem中加了下面代码:
    listbox1.Canvas.FillRect(rect); 
    imagelist1.Draw(listbox1.Canvas,rect.left,rect.top,index); 
    可以显示图标,
    但是不能显示标题了,
    用什么方法再显示标题呢?
      

  2.   

    AnsiString str = "显示的标题";
    listbox1.Canvas.FillRect(rect); 
    imagelist1.Draw(listbox1.Canvas,rect.left,rect.top,index); 
    //标题显示在图标的后面
    listbox1.Canvas.TextOut(rect.left+imagelist1.width, rect.top+
        (rect.Height()-listbox1.Canvas.TextHeight(str)) DIV 2, str);
      

  3.   

    大侠,上面方法可以,谢谢
    但是,是不是listbox里面所有项的图标是相同的?
    要是想让每一项有一个不同的图标能不能实现呢?
    用什么方法?