因为象自己做一个LISTVIEW,我是用的GDI+ 的Image对象数组作为存放缩略图的,不过似乎效率上稍微差点,所以很想知道LISTVIEW的缩略图存取机制,有高手可相告吗?

解决方案 »

  1.   

    用ListView和ImageList搭配使用 可以給你個思路,具體怎麼實現的也忘記了:
    1。將ListView的OwnerDraw屬性設置成 True;
    2。在ListView的CustomDrawItem用消息(或者用函數,函數好像是在ComCtrl這個單元吧)設置Item的高度與寬度(Item實際上就是我們看到的縮略圖)
    3。Hook ListView的Scroll事件,當用戶Scroll ListView時用線程動態將目錄下的圖片加載至ImageList中,再顯示當前用戶滾動條滾動處的圖片,這樣瀏覽縮略圖基本上沒有延時的感覺。
    這樣的瀏覽速度基本上跟ACD差不多。用Panle的方法不好,會占用相當大的內存空間,所以我之前就放棄用Panel了. 
      

  2.   

    我主要是想知道ImageList是以什么形式保存的缩略图的。 Panel是什么来的?
      

  3.   

    象ListView这样的控件在绘制可见部分的项时应该也是需要遍历所有的项的吧?