新手跪求高手们给看一下我写的TreeCtrl继承类,检测不出错误但就是有问题??

liquidlele 2006-03-19 12:38:57
我写了一个显示 系统图标 的递归显示文件夹和文件的树的继承类,但是使用的时候发现显示速度出奇的慢,不知道为什么?而且显示的图标都是一个共享图标,别的就没有了,Debug也看不出错误,请高手们给我看看,小弟跪谢了



BOOL CDirTreeCtrl::GetSysImgList()//得到系统图标
{
SHFILEINFO shFileInfo;
HIMAGELIST hImgList = NULL;

if(GetImageList( TVSIL_NORMAL ))
m_imgList.Detach();//Detaches an image list object from a CImageList object and returns a handle to an image list

hImgList = (HIMAGELIST)SHGetFileInfo( "C:\\",
0,
&shFileInfo,
sizeof(shFileInfo),
SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
if( !hImgList )
return FALSE;

m_imgList.m_hImageList = hImgList;

SetImageList(&m_imgList,TVSIL_NORMAL);

return TRUE;

}

BOOL CDirTreeCtrl::DisplayTree(HTREEITEM hParent, CString strPath)//递归显示树,
{
CFileFind find;
CString strTemp = strPath;
BOOL bFind;
SHFILEINFO shFinfo;
int iIcon,iIconSel;
HTREEITEM hSubItem;

//DWORD dwStyle = GetStyle();

DeleteAllItems();

if( !GetSysImgList())
return FALSE;

if( strTemp.Right(1) != "\\" )
strTemp += "\\";
strTemp += "*.*";

if(!SHGetFileInfo( strTemp,
0,
&shFinfo,
sizeof( shFinfo ),
SHGFI_ICON|SHGFI_SMALLICON)
)
{
return FALSE;
}
iIcon = shFinfo.iIcon;//正常图标
DestroyIcon( shFinfo.hIcon );

if( !SHGetFileInfo( strTemp,
0,
&shFinfo,
sizeof( shFinfo ),
SHGFI_ICON|SHGFI_OPENICON|
SHGFI_SMALLICON) )
{
return FALSE;
}
iIconSel = shFinfo.iIcon;//打开的图标
DestroyIcon( shFinfo.hIcon );

bFind = find.FindFile( strTemp );

while( bFind )
{
bFind = find.FindNextFile();

if( find.IsDirectory()&&!find.IsDots() )//目录是文件夹
//如果是一个子目录,递归继续往深一层查找
{
CString strPath = find.GetFilePath();//得到路径作为递归调用的开始
CString strTitle = find.GetFileName();//得到目录名

hSubItem = InsertItem( strTitle,0,0,hParent );
DisplayTree( hSubItem,strPath );
}
else if( !find.IsDirectory()&&!find.IsDots() )//到达最底层文件
{
CTime time;
CString strPath;
CString strName;

strPath = find.GetFilePath();
strName = find.GetFileName();

InsertItem( strName,0,0,hParent );
}

}
find.Close();
return TRUE;


}
...全文
113 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
adaisong 2006-03-19
  • 打赏
  • 举报
回复
帮你看看先
BOOL CDirTreeCtrl::GetSysImgList()
{
SHFILEINFO shFinfo;
HIMAGELIST hImgList = NULL;

if ( GetImageList( TVSIL_NORMAL ) )
m_imgList.Detach();

hImgList = (HIMAGELIST)SHGetFileInfo( "C:\\",
0,
&shFinfo,
sizeof( shFinfo ),
SHGFI_SYSICONINDEX |
SHGFI_SMALLICON );

if ( !hImgList )
{
m_strError = "Error";
return FALSE;
}
m_imgList.m_hImageList = hImgList;

SetImageList( &m_imgList,TVSIL_NORMAL );
return TRUE;

}
liquidlele 2006-03-19
  • 打赏
  • 举报
回复
大家都这么忙啊?我在线等,希望有人能帮帮我
liquidlele 2006-03-19
  • 打赏
  • 举报
回复
求求各位高手了!!帮忙给看一下把,分数我就这么多,不是不舍得给阿
大家帮帮忙啊
liquidlele 2006-03-19
  • 打赏
  • 举报
回复
有高手能给看看找找毛病么?为什么显示的系统图标都是一个共享图标?
还有为什么显示速度超级慢
内容概要:本文提出一种基于鱼鹰优化算法(OOA)优化的CNN-BiGUR-Attention混合模型,用于提升短期风电功率预测的精度与稳定性,采用Matlab实现代码仿真。该模型融合卷积神经网络(CNN)提取输入数据的局部空间特征,利用双向门控循环单元(BiGUR)捕捉风速、功率等时间序列的前后向动态依赖关系,并引入注意力机制自适应强化关键时间步的特征权重,从而增强模型对非平稳风电数据的表征能力;进一步,采用OOA算法对模型超参数进行全局寻优,有效提升模型收敛速度与泛化性能。研究基于实际风电场历史数据开展实验验证,结果表明,该方法相较传统模型在预测精度、鲁棒性和误差抑制方面表现更优,适用于高比例可再生能源接入背景下的电力系统调度需求。; 适合人群:从事新能源发电预测、电力系统优化调度、智能算法与深度学习融合应用等方向的科研人员及工程技术人员,尤其适合具备Matlab编程能力、熟悉时间序列建模与深度学习框架的研究者。; 使用场景及目标:①实现风电场短期功率高精度预测,支撑电网安全稳定调度与能量管理;②为深度学习模型结构设计与智能优化算法联合调参提供实践范例;③推动人工智能技术在可再生能源预测、智能电网运行等领域的落地应用。; 阅读建议:建议结合提供的Matlab代码深入理解CNN-BiGUR-Attention网络架构搭建、注意力机制实现方式及OOA优化流程,重点关注数据预处理、模型训练与参数调优细节,可通过替换不同风电数据集进行对比实验,进一步掌握模型迁移能力与适应性。

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧