⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_37926.htm

📁 vc
💻 HTM
字号:
<p>
序号:37926 发表者:夏乾坤 发表日期:2003-04-29 14:18:46
<br>主题:关于TREE 控件
<br>内容:bool CFTPFileDlg::GetFileToList(CString filepath)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;HTREEITEM hTree,rTree;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CFileFind tempFind; <BR>&nbsp;&nbsp;&nbsp;&nbsp;char tempFileFind[200] ={0};&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;sprintf(tempFileFind,"%s\\*.*",filepath);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;hTree = rTree = m_Tree2.InsertItem(filepath);<BR>&nbsp;&nbsp;&nbsp;&nbsp;//m_Tree2.InsertItem("asdf",rTree);<BR><BR>&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(IsFinded)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IsFinded=(BOOL)tempFind.FindNextFile();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!tempFind.IsDots())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char foundFileName[200];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(tempFind.IsDirectory())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char tempDir[200];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(tempDir,"%s\\%s",filepath,foundFileName);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetFileToList(tempDir);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(dirpath!=filepath &amp;&amp; dirpath !="")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dirpath = dirpath.Mid(m_Edit5.GetLength()+1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hTree = m_Tree2.InsertItem(dirpath,rTree);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dirpath = filepath;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CString tmp = foundFileName;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_Tree2.InsertItem(foundFileName,hTree);//我想把这里的文件按照像Windows的目录和文件夹的方式写进来,确没懂这个hTree句柄<BR>//还有怎样将文件夹的图标正确的载入到我的CImageList里面?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;return 1;<BR>}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:wowow 回复日期:2003-04-29 14:46:05
<br>内容:1.树节点的插入:<BR>TV_INSERTSTRUCT tvInsertStruct;<BR>// = NULL表示根节点,=非空值表示在某个节点下插入子节点<BR>tvInsertStruct.hParent = NULL;<BR>// 节点文本内容<BR>tvInsertStruct.item.pszText = sRootItem[i].GetBuffer(sRootItem[i].GetLength());<BR>// 节点内容(图标/选择后的图标/文本)<BR>tvInsertStruct.item.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_TEXT;<BR>// 图标序号<BR>tvInsertStruct.item.iImage = nCurCount;<BR>// 选择后的图标序号<BR>tvInsertStruct.item.iSelectedImage = nCurCount + nItemCount;<BR>// 插入节点并返回该节点<BR>pFirst[i] = tree.InsertItem(&amp;tvInsertStruct);<BR><BR>2.加载节点图标<BR>定义一个成员变量CImageList imageTree;(不能使用临时变量)<BR>// 大小16x16,nTreeCount:节点个数<BR>imageTree.Create(16, 16, ILC_MASK, nTreeCount, 0);<BR>// 设置树的背景色<BR>imageTree.SetBkColor(RGB(255,255,255));<BR>......<BR>CBitmap *pItemTreeBitmap = new CBitmap[nTreeCount];<BR>HICON *pItemTreeIcon = new HICON[nTreeCount];<BR>for (int i = 0; i &lt; nTreeCount; ++i)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;pItemTreeBitmap[i].LoadBitmap(bitmapTree[i]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;pItemTreeIcon[i] = AfxGetApp()-&gt;LoadIcon(iconTree[i]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 图标为Bitmap时的加载方式<BR>&nbsp;&nbsp;&nbsp;&nbsp;imageTree.Add(&amp;pItemTreeIcon[i], RGB(255, 255, 255));<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 图标为Icon时的加载方式<BR>//&nbsp;&nbsp;imageTree.Add(pItemListIcon[i]);<BR>}<BR>delete []pItemTreeBitmap;<BR>delete pItemTreeIcon;<BR>// 设置ImageList<BR>m_Tree2.SetImageList(&amp;imageTree, TVSIL_NORMAL);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -