100分求救!继承的CListCtrl的第一个item总是无法正确重绘(其他的都可以),疯了! 自己继承的CListCtrl,用于显示缩略图,但是第一项就是无法相应重绘消息。不论单击,还是鼠标拖框方式选中,都无法画出焦点。到底什么原因啊!小弟我快疯了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 请留下mail,我把代码给各位发过去,请帮忙看看,谢谢了! [email protected]能否给我看看? 呵,都已经发出去了,这里先解释一下,界面上的加载按钮是无效的,这个列表框是支持拖放的,拖几个jpg文件进去即可,或者拖一个含有jpg文件的文件夹也可以。PS:demo程序,目前没有对线程做同步操作,造成的漏洞,还望海涵:)再次感谢大家关注,祝大家新年快乐,家人和自己都身体健康! 自己再up一下。望早日能解决,这几天给这个bug搞的吃不香,睡不好,非置之死地而后快不可。 發給我看看.[email protected] 其他的功能我还没有完全完成,sorry,小图标和列表方式下,我没有做重绘动作。另外,我说的问题,是第一项的问题,就是说,你单击第一项时,焦点画不出来(实际上是画出来了)。 另外请各位注意代码,第一项之所以能有焦点,完全是我强制重绘的结果,有这么一句RedrawItems(0,0)。 不知道原因,只好这样了:void CThumbnailListCtrlEx::OnItemchanged(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; RedrawItems(pNMListView->iItem, pNMListView->iItem); *pResult = 0;} 焦点也自己画?或许你可以参考以下http://www.csdn.net/develop/read_article.asp?id=22243 jiangsheng(蒋晟.Net) 您的大作我拜读了,可是代码好像无法编译,ILFree等几个函数(宏?)的定义无法找到。 --------------------Configuration: PicView - Win32 Debug--------------------Compiling...StdAfx.cppCompiling...MainFrm.cppPicView.cppC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(169) : error C2065: 'ILFree' : undeclared identifierC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(184) : error C2065: 'SHGetFolderLocation' : undeclared identifierC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(194) : error C2065: 'BIF_USENEWUI' : undeclared identifierC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(213) : error C2065: 'StrRetToBuf' : undeclared identifierC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(225) : error C2065: 'SHBindToParent' : undeclared identifierC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(278) : error C2065: 'ILClone' : undeclared identifierC:\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 castC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicView.cpp(311) : error C2065: 'SFGAOF' : undeclared identifierC:\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 identifierPicViewDoc.cppC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewDoc.cpp(45) : error C2065: 'CSIDL_MYPICTURES' : undeclared identifierC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewDoc.cpp(47) : error C2065: 'ILFree' : undeclared identifierC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewDoc.cpp(55) : error C2065: 'SHILCreateFromPath' : undeclared identifierPicViewView.cppC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewView.cpp(139) : error C2065: 'ILClone' : undeclared identifierC:\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 castC:\Documents and Settings\Koote Bi\×ÀÃæ\picview\PicView\PicViewView.cpp(251) : error C2065: 'ILCombine' : undeclared identifierC:\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 castC:\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 castGenerating Code...Error executing cl.exe.PicView.exe - 18 error(s), 0 warning(s) 需要shlwapi5.0以上版本的头文件,可以去http://www.microsoft.com/msdownload/platformsdk/sdkupdate/更新你的SDK头文件和库文件 3x,我的本意不是要自己去手工画焦点,但是我的listctrl中第一项的焦点总是无法正常显示,所以我才会想到要手工去画的。 VC有什么工具可以查看一个动态链接库依赖其他库文件吗? 改变分辨率的问题 依旧关于CStatic的问题...... 在64位系统上面编译64位的程序,注册一个Service的时候,SERVICE_STATUS取什么值? 好像只有32位的啊。 error:关于POINT的应用 VC 读取TXT文件的问题! 求教视频捕捉的问题!设置压缩方式! 请问DirectX与OpenGL的特点各是什么? 我为什么不能创建窗口?大侠菜鸟都来帮我一下吧! ~~~~~~~~~请问一个很简单的问题~~~~~~~~~~~~~~ 服务启动失败的问题 求书一本:《Windows2000与TCP/IP》
能否给我看看?
PS:demo程序,目前没有对线程做同步操作,造成的漏洞,还望海涵:)再次感谢大家关注,祝大家新年快乐,家人和自己都身体健康!
[email protected]
另外,我说的问题,是第一项的问题,就是说,你单击第一项时,焦点画不出来(实际上是画出来了)。
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; RedrawItems(pNMListView->iItem, pNMListView->iItem);
*pResult = 0;
}
或许你可以参考以下
http://www.csdn.net/develop/read_article.asp?id=22243
您的大作我拜读了,可是代码好像无法编译,ILFree等几个函数(宏?)的定义无法找到。
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)
更新你的SDK头文件和库文件