怎样在视图里利用CListCtrl做一个缩略图。

shuxin1979 2005-02-24 02:16:59
怎样在视图里利用CListCtrl做一个缩略图。
...全文
68 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzheng318 2005-02-24
  • 打赏
  • 举报
回复
http://www.codeproject.com/listctrl/thumbnailview.asp
xuzheng318 2005-02-24
  • 打赏
  • 举报
回复
BEGIN_MESSAGE_MAP(CImagePage, CPropertyPage)
//{{AFX_MSG_MAP(CImagePage)
ON_NOTIFY(NM_CUSTOMDRAW, IDC_LIST_PREVIEW, OnCustomDraw)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CImagePage::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
LPNMLVCUSTOMDRAW pnmCustDraw = (LPNMLVCUSTOMDRAW)pNMHDR;
switch(pnmCustDraw->nmcd.dwDrawStage){
case CDDS_PREPAINT:
*pResult = CDRF_NOTIFYITEMDRAW ;break;
case CDDS_ITEMPREPAINT:
*pResult = CDRF_NOTIFYPOSTPAINT ;break;
case CDDS_ITEMPOSTPAINT:{
int iItem=pnmCustDraw->nmcd.dwItemSpec;
CDC dc;
dc.Attach(pnmCustDraw->nmcd.hdc);
HICON hi=GetIconFromFile(m_strImageFile,iItem);
m_pic.CreateFromIcon(hi);DestroyIcon(hi);
CRect rectDest;
//call CListCtrl::GetItemRect to get target rect
m_wndImgPrvwList.GetItemRect(iItem,rectDest,LVIR_ICON);
dc.DPtoLP(rectDest);
m_pic.Render(&dc,&rectDest);
dc.Detach();
*pResult = CDRF_DODEFAULT;
break;
}
default:
*pResult = CDRF_DODEFAULT;
break;
}
}

15,979

社区成员

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

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