- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vc控件 treectrl 与 listctrl 演示(VC控件treectrl与ListCtrl演示)
vc控件 treectrl 与 listctrl 演示(VC控件treectrl与ListCtrl演示)
VC控件treectrl与ListCtrl演示
这个例子类似于Windows的资源管理器,程序运行界面如图一所示:
图一
主要用到的类有:
CListCtrl,CTreeCtrl,方法,和函数shgetfileinfo() CFileFind
简述步骤如下:
1、增加treectrl的tvs_hasbuttons,tvs_haslines、tvs_linesatroot风格,代码如下:
一个getwindowlong DWORD值=(m_tree。m_hwnd,gwl_style);
一个| = tvs_hasbuttons | tvs_haslines | tvs_linesatroot;
SetWindowLong(m_tree。m_hwnd,gwl_style,一个);
2、为treectrl添加根项:
m_hroot = m_tree。InsertItem(“我的电脑”);
insertitem()的函数原形为
HTREEITEM INSERTITEM(LPCTSTR lpszitem,HTREEITEM hparent = tvi_root,
hinsertafter = tvi_last HTREEITEM);
3、获取本地逻辑驱动器,并添加:无效ctreeviewdlg::getlogicaldrives(HTREEITEM hparent)
{
size_t szalldrivestrings = GetLogicalDriveStrings(0,null);
char * pdrivestrings =新字符[ szalldrivestrings + sizeof(_t(“”))];
(szalldrivestrings GetLogicalDriveStrings,pdrivestrings);
size_t szdrivestring = strlen(pdrivestrings);
而(szdrivestring 0)
{
m_tree。InsertItem(pdrivestrings,hparent);
pdrivestrings + = szdrivestring + 1;
szdrivestring = strlen(pdrivestrings);
}
}
4、添加tvn_expanded消息处理函数,当一项展开时,为其子项添加下一级目录:无效ctreeviewdlg::OnItemexpandedTree(NMHDR * pnmhdr,一些* presult)
{
nm_treeview * pnmtreeview =(nm_treeview *)pnmhdr;
// TODO:在此添加你的控制消息的处理代码
pnmtreeview - itemnew TVITEM项目=;
如果(item.hitem = = m_hroot)
返回;
hchild = m_tree HTREEITEM。GetChildItem(项目。hItem为);
而(hchild)
{
AddSubDir(hchild);
hchild = m_tree。GetNextItem(hchild,tvgn_next);
}
* presult = 0;
}
addsubdir函数功能添加子项,具体代码见示例。
5、添加tvn_selchanged消息处理函数,在这个函数里,用getfullpath()取得选中项的绝路径(getfullpath()具体代码看示例),在ListCtrl中添加文件而非文件夹的图标:无效ctreeviewdlg::OnSelchangedTree(NMHDR * pnmhdr,一些* presult)
{
m_list。deleteallitems();
nm_treeview * pnmtreeview =(nm_treeview *)pnmhdr;
pnmtreeview - itemnew TVITEM项目=;
如果(item.hitem = = m_hroot)
返回;
CString str = getfullpath(项目。hItem为);
如果(str.right(1)!=“\\”)
STR + =“\\”;
STR + =“* *。”;
CFileFind文件;
布尔bcontinue =文件。FindFile(STR);
而(bcontinue)
{
bcontinue =文件。findnextfile();
如果(!文件。isdirectory() !isdots())文件。
{
shfileinfo信息;
CString str温度=;
指数=温度。发现(“* *”);
临
您可能关注的文档
- lunix静态库和共享库编译和实现(Sharing and library compilation and implementation of Lunix static library).doc
- luwen(吕温).doc
- m25p80程序(M25p80 program).doc
- lyricus 讲座 4(Lyricus lecture 4).doc
- mangameeya 中文版说明(mangameeya中文版说明).doc
- mangameeya222 中文版说明(Mangameeya222 Chinese Version Description).doc
- magic show(魔术表演).doc
- manga中文版说明(Manga Chinese Version Description).doc
- maod(MAOD).doc
- lotus命令大全(Lotus command Daquan).doc
最近下载
- 2025年广东省基层住院医师线上岗位培训(口腔学)专业课答案(1-2).docx
- 2025年设备监理师《设备工程质量管理与检验》考前点题卷一.docx VIP
- 六西格玛案例之优化电池烘烤工艺.pptx VIP
- 机动车驾驶人考试员相关规定幻灯片.ppt
- 设备使用管理标准.pptx VIP
- 16D303-2常用风机控制电路图.doc
- 《七大浪费分析与改善》培训.ppt VIP
- 人教版《义务教育教科书数学》教材培训.ppt VIP
- 2025年设备监理师《设备工程质量管理与检验》模拟试卷二.docx VIP
- 青岛科技大学2022-2023学年第2学期《高等数学(下)》期末试卷(B卷)附标准答案.pdf
文档评论(0)