程序片断如下
CFtpFileFind finder(pFtp);
BOOL bSuccess=finder.FindFile(_T("*"));
CStringArray m_Ext;
while (bSuccess){
bSuccess=finder.FindNextFile();
if (finder.IsDots()){
continue;
}
if (finder.IsHidden()){
continue;
}
if (finder.IsDirectory()){
m_Ext.Add(finder.GetFileName());
}
else {
m_Ext.Add(finder.GetFileName());
} }
CImageList m_Image;
SHFILEINFO shFi;
m_Image.Create(16,16,0,0,3); for (int i=0;i<m_Ext.GetSize();i++){
memset(&shFi,0,sizeof(shFi));
SHGetFileInfo(m_Ext.GetAt(i),FILE_ATTRIBUTE_NORMAL,&shFi,
sizeof(shFi),
SHGFI_ICON | SHGFI_SMALLICON |
SHGFI_USEFILEATTRIBUTES | SHGFI_DISPLAYNAME |
SHGFI_TYPENAME);
if (shFi.hIcon!=NULL){
m_Image.Add(shFi.hIcon);
}
}
m_list.SetImageList(&m_Image,LVSIL_SMALL);
for (int j=0;j<m_Ext.GetSize();j++){
m_list.InsertItem(i,m_Ext.GetAt(j),j++);
}可是图标死活出不来,只是显示一小块空白...
不过如果单步执行的话就可以看到图标...
当然也不是我想象中那个...
但是编译后运行就是不行...
晕啊..谁救救我..
CFtpFileFind finder(pFtp);
BOOL bSuccess=finder.FindFile(_T("*"));
CStringArray m_Ext;
while (bSuccess){
bSuccess=finder.FindNextFile();
if (finder.IsDots()){
continue;
}
if (finder.IsHidden()){
continue;
}
if (finder.IsDirectory()){
m_Ext.Add(finder.GetFileName());
}
else {
m_Ext.Add(finder.GetFileName());
} }
CImageList m_Image;
SHFILEINFO shFi;
m_Image.Create(16,16,0,0,3); for (int i=0;i<m_Ext.GetSize();i++){
memset(&shFi,0,sizeof(shFi));
SHGetFileInfo(m_Ext.GetAt(i),FILE_ATTRIBUTE_NORMAL,&shFi,
sizeof(shFi),
SHGFI_ICON | SHGFI_SMALLICON |
SHGFI_USEFILEATTRIBUTES | SHGFI_DISPLAYNAME |
SHGFI_TYPENAME);
if (shFi.hIcon!=NULL){
m_Image.Add(shFi.hIcon);
}
}
m_list.SetImageList(&m_Image,LVSIL_SMALL);
for (int j=0;j<m_Ext.GetSize();j++){
m_list.InsertItem(i,m_Ext.GetAt(j),j++);
}可是图标死活出不来,只是显示一小块空白...
不过如果单步执行的话就可以看到图标...
当然也不是我想象中那个...
但是编译后运行就是不行...
晕啊..谁救救我..
解决方案 »
- 我按钮绘制好后,想实现点开按钮弹出消息显示“你好”,请问如何写代码?
- 我想知道这两种获得指针的不同之处!
- 这个函数前面用了一次read语句,为什么后面的write 语句就无法执行了呢?不过没有报错误。。。
- 生成的EXE双击没反应~!
- 对话框!
- 请各位看看有没有什么可行的思路
- 大家帮我看一下这段有关文件操作和内存分配代码问题出在什么地方?
- 关于游戏场景中右键菜单的问题!
- 我以前一点也没有学过C + + ,现在要学怎么学比较好?我以前只学过TC,还有powerbuilder等!
- 请教一下vs2008 sp1 的runtime库
- 当用户改变对话框大小时,如何使对话框大小不能超过最小值?
- 请教一个关于类CObList的问题,急急急!!!
并没有设置Item的iImage(见LVITEM结构)的索引值,你可以使用
BOOL SetItem( int nItem, int nSubItem, UINT nMask, LPCTSTR lpszItem, int nImage, UINT nState, UINT nStateMask, LPARAM lParam );其实我也不是很清楚,你可以自己试试
~~~~~~~~~~这个不是吗??
要求:m_Image的生存期大于等于m_list的生存期
放到你的头文件中定义,你在这里定义的话有可能作用域不够!
m_Image.Create(16,16,ILC_COLOR32 | ILC_MASK, 0, 3);