网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
利用Visual C++设计自己的资源浏览器
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
le ((LPCTSTR) strFileSpec, &fd)) ==INVALID_HANDLE_VALUE)
 {
  if (IsDriveNode (hItem))
   AddDummyNode (hItem);
  return 0;
 }
 CWaitCursor wait;
 CDriveExplorerDoc* pDoc = GetDocument();
 pDoc->m_ExplorerView->DeleteAllItems();
 do {
  if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
  {
   CString strFileName = (LPCTSTR) &fd.cFileName;
   if ((strFileName != ".") && (strFileName != "..")&& (fd.dwFileAttributes != 22))
   {
    HTREEITEM hChild =GetTreeCtrl().InsertItem ((LPCTSTR) &fd.cFileName,ILI_CLSDFLD , ILI_OPENFLD , hItem , TVI_SORT);
    CString strNewPathName = strPathName;
    if (strNewPathName.Right (1) != "")
     strNewPathName += "";
     strNewPathName += (LPCTSTR) &fd.cFileName;
     SetButtonState (hChild, strNewPathName);
     nCount++;
   }
  }
  else
  {
   pDoc->m_ExplorerView->AddToListView(&fd);
  }
 } while (::FindNextFile (hFind, &fd));
 ::FindClose (hFind);
 return nCount;
}

void CLeftView::SetButtonState(HTREEITEM hItem, CString &strPathName)
{
 if (HasSubdirectory (strPathName))
  AddDummyNode (hItem);
}

BOOL CLeftView::HasSubdirectory(CString &strPathName)
{
 HANDLE hFind;
 WIN32_FIND_DATA fd;
 BOOL bResult = FALSE;
 CString strFileSpec = strPathName;
 if (strFileSpec.Right (1) != "")
  strFileSpec += "";
 strFileSpec += "*.*";
 if ((hFind = ::FindFirstFile ((LPCTSTR) strFileSpec, &fd)) !=INVALID_HANDLE_VALUE)
 {
  do {
   if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
   {
    CString strFileName = (LPCTSTR) &fd.cFileName;
    if ((strFileName != ".") && (strFileName != ".."))
     bResult = TRUE;
   }
  } while (::FindNextFile (hFind, &fd) && !bResult);
   ::FindClose (hFind);
 }
 return bResult;
}

BOOL CLeftView::IsDriveNode(HTREEITEM hItem)
{
 return (GetTreeCtrl().GetParentItem (hItem) == NULL) ? TRUE : FALSE;
}

void CLeftView::OnItemexpanding(NMHDR* pNMHDR, LRESULT* pResult)
{
 NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
 HTREEITEM hItem = pNMTreeView->itemNew.hItem;
 CString strPathName = GetPathFromItem (hItem);
 if (!IsMediaValid (strPathName))
 {
  HTREEITEM hRoot = GetDriveNode (hItem);
  GetTreeCtrl().Expand (hRoot, TVE_COLLAPSE);
  DeleteChildren (hRoot);
  AddDummyNode (hRoot);
  *pResult = TRUE;
  return;
 }
 // Delete the item if strPathName no longer specifies a valid path.
 if (!IsPathValid (strPathName))
 {
  if(strPathName != MYCOMPUTER && strPathName != "")
  {
   GetTreeCtrl().DeleteItem (hItem);
   *pResult = TRUE;
   return;
  }
 }
 CWaitCursor wait;
 if (pNMTreeView->action == TVE_EXPAND)
 {
  if(strPathName != MYCOMPUTER)
  {
   DeleteChildren (hItem);
   if (!AddDirectoryNodes (hItem, strPathName))
    *pResult = TRUE;
  }
 }
 else {
  if(strPathName != MYCOMPUTER)
  {
   DeleteChi

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号