自己继承的CListCtrl,用于显示缩略图,但是第一项就是无法相应重绘消息。不论单击,还是鼠标拖框方式选中,都无法画出焦点。
到底什么原因啊!小弟我快疯了!

解决方案 »

  1.   

    请留下mail,我把代码给各位发过去,请帮忙看看,谢谢了!
      

  2.   

    [email protected]
    能否给我看看?
      

  3.   

    呵,都已经发出去了,这里先解释一下,界面上的加载按钮是无效的,这个列表框是支持拖放的,拖几个jpg文件进去即可,或者拖一个含有jpg文件的文件夹也可以。
    PS:demo程序,目前没有对线程做同步操作,造成的漏洞,还望海涵:)再次感谢大家关注,祝大家新年快乐,家人和自己都身体健康!
      

  4.   

    自己再up一下。望早日能解决,这几天给这个bug搞的吃不香,睡不好,非置之死地而后快不可。
      

  5.   

    發給我看看.
    [email protected]
      

  6.   

    其他的功能我还没有完全完成,sorry,小图标和列表方式下,我没有做重绘动作。
    另外,我说的问题,是第一项的问题,就是说,你单击第一项时,焦点画不出来(实际上是画出来了)。
      

  7.   

    另外请各位注意代码,第一项之所以能有焦点,完全是我强制重绘的结果,有这么一句RedrawItems(0,0)。
      

  8.   

    不知道原因,只好这样了:void CThumbnailListCtrlEx::OnItemchanged(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; RedrawItems(pNMListView->iItem, pNMListView->iItem);

    *pResult = 0;
    }
      

  9.   

    焦点也自己画?
    或许你可以参考以下
    http://www.csdn.net/develop/read_article.asp?id=22243
      

  10.   

    jiangsheng(蒋晟.Net) 
    您的大作我拜读了,可是代码好像无法编译,ILFree等几个函数(宏?)的定义无法找到。
      

  11.   

    --------------------Configuration: PicView - Win32 Debug--------------------
    Compiling...
    StdAfx.cpp
    Compiling...
    MainFrm.cpp
    PicView.cpp
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(169) : error C2065: 'ILFree' : undeclared identifier
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(184) : error C2065: 'SHGetFolderLocation' : undeclared identifier
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(194) : error C2065: 'BIF_USENEWUI' : undeclared identifier
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(213) : error C2065: 'StrRetToBuf' : undeclared identifier
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(225) : error C2065: 'SHBindToParent' : undeclared identifier
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(278) : error C2065: 'ILClone' : undeclared identifier
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(278) : error C2440: '=' : cannot convert from 'int' to 'struct _ITEMIDLIST *'
            Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(311) : error C2065: 'SFGAOF' : undeclared identifier
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(311) : error C2146: syntax error : missing ';' before identifier 'rgfInOut'
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(311) : error C2065: 'rgfInOut' : undeclared identifier
    PicViewDoc.cpp
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewDoc.cpp(45) : error C2065: 'CSIDL_MYPICTURES' : undeclared identifier
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewDoc.cpp(47) : error C2065: 'ILFree' : undeclared identifier
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewDoc.cpp(55) : error C2065: 'SHILCreateFromPath' : undeclared identifier
    PicViewView.cpp
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewView.cpp(139) : error C2065: 'ILClone' : undeclared identifier
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewView.cpp(139) : error C2440: '=' : cannot convert from 'int' to 'struct _ITEMIDLIST *'
            Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewView.cpp(251) : error C2065: 'ILCombine' : undeclared identifier
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewView.cpp(251) : error C2440: 'initializing' : cannot convert from 'int' to 'struct _ITEMIDLIST *'
            Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
    C:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewView.cpp(309) : error C2440: 'initializing' : cannot convert from 'int' to 'struct _ITEMIDLIST *'
            Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
    Generating Code...
    Error executing cl.exe.PicView.exe - 18 error(s), 0 warning(s)
      

  12.   

    需要shlwapi5.0以上版本的头文件,可以去http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
    更新你的SDK头文件和库文件
      

  13.   

    3x,我的本意不是要自己去手工画焦点,但是我的listctrl中第一项的焦点总是无法正常显示,所以我才会想到要手工去画的。