WEB开发网      婵傜晫鐝總钘夊瀻娴滎偓绱掓担鐘垫畱娑撯偓娴犺棄鍨庢禍顐fЦ閹存垳婊戦惃鍕娴犺棄濮╅崝娑崇幢鐠囧嘲鍨庢禍锟� ---閿曪拷
开发学院软件开发VC VC一点通:实现文件夹的缩略图显示 阅读

VC一点通:实现文件夹的缩略图显示

 2008-11-14 19:36:31 来源:WEB开发网 閵嗭拷閸戝繐鐨€涙ぞ缍�婢х偛銇囩€涙ぞ缍�閵嗭拷  閸忚櫕鏁炴Λ娆愬盁閸楀洨娈戝顔煎触
核心提示:    voidCPicViewView::GetItemInfo(LPCITEMIDLISTpidl,CFolderItemInfo*pItemInfo)  {  HRESULThr=theApp.SHGetDisplayNameOf(pidl,pItemInfo->tszDispl

  

 voidCPicViewView::GetItemInfo(LPCITEMIDLISTpidl,CFolderItemInfo*pItemInfo)
  {
  HRESULThr=theApp.SHGetDisplayNameOf(pidl,pItemInfo->tszDisplayName);
  IShellIcon*pShellIcon=NULL;
  hr=m_psfFolder->QueryInterface(IID_IShellIcon,(LPVOID*)&pShellIcon);
  if(SUCCEEDED(hr)&&pShellIcon){
  pShellIcon->GetIconOf(pidl,0,&pItemInfo->iIcon);
  pShellIcon->Release();
  }
  IShellIconOverlay*pShellIconOverlay=NULL;
  hr=m_psfFolder->QueryInterface(IID_IShellIconOverlay,(LPVOID*)    &pShellIconOverlay);
  if(SUCCEEDED(hr)&&pShellIconOverlay){
  intnOverlay=0;
  pShellIconOverlay->GetOverlayIndex(pidl,&nOverlay);
  pItemInfo->state=INDEXTOOVERLAYMASK(nOverlay);
  pShellIconOverlay->Release();
  }
  LPITEMIDLISTpidlItemFull=ILCombine(m_pidlFolder,pidl);
  if(pidlItemFull){
  if(SHGetPathFromIDList(pidlItemFull,pItemInfo->tszPath)){
  USES_CONVERSION;
  hr=OleLoadPicturePath(
  T2OLE(pItemInfo->tszPath)
  ,NULL,0,RGB(255,255,255)
  ,IID_IPicture,(LPVOID*)&pItemInfo->pic.m_pPict);
  if(FAILED(hr)){
  pItemInfo->bFailLoadPic=TRUE;
  TRACE("OleLoadPicturePathfailed%srn",pItemInfo->tszPath);
  }
  }
  }
  m_pMalloc->Free(pidlItemFull);
  }
  }

上一页  1 2 3 4 5 6  下一页

Tags:VC 一点通 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接