我把CListView里的CListCtrl与系统图标列表关联上了,但我又想同时显示一些自定义图标,问题在于一但CListCtrl关联上后,就只能显示关联的图标列表里的图标了。如何在一次显示中,即显示关联图标列表里的图标又显示自定义的图标?按理说把自定义图标加入到关联的图标列表里,不就可以直接引用了,但是我关联的是系统图标列表,MSDN里说系统图标列表应该当做只读的处理,如果写的话可能造成错误。请大侠指教!

解决方案 »

  1.   


    用两个图标列表,一个系统图标列表,一个自定义图标列表。
    根据需要动态确定ListCtrl相关联的ImageList。
    只是随便想到的,我没实现过,仅供参考
      

  2.   

    倒过来做,把系统图标加到你的image list中
      

  3.   

    使用CImageList::Add(HICON hIcon),先用LoadIcon()读取系统的图标,再用CImageList的Add()加到你的image list中去
      

  4.   

    首先感谢各位的关注,我的回答如下:用两个图标列表,一个系统图标列表,一个自定义图标列表。
    根据需要动态确定ListCtrl相关联的ImageList。
    只是随便想到的,我没实现过,仅供参考
    ×××行不通,我在一次显示中又要显示系统图标,又要显示自定义图标。是混着的。倒过来做,把系统图标加到你的image list中
    ×××不知道你实际做过没有,呵呵~~不知道Windows是怎么管理系统图标列表的,我只能从中读出5个图标来。其它的根本读不出来。使用CImageList::Add(HICON hIcon),先用LoadIcon()读取系统的图标,再用CImageList的Add()加到你的image list中去
    ×××不行呀,只能读出5个图标,其它的都不存在。
      

  5.   

    最笨的办法:用抓土工具把系统图标抓下来,和自己的图标都画在一个位图里,load位图就可以了。
    前提是需要的系统图标不是太多。:)
      

  6.   

    来自msdn:
    LoadIcon loads the icon only if it has not been previously loaded; otherwise, it retrieves a handle of the existing resource. You can use the LoadStandardIcon or LoadOEMIcon member function to access the predefined Windows icons.