怎样在视图里利用CListCtrl做一个缩略图。
解决方案 »
- 求一个加载png图片并放到Hdc里的例子
- 编译静态库//遇到的错误我只能说一句fuck
- 我买彩票 买10块 为什么老不中?
- 点对点传送文件的问题
- 求助:怎样在单文档里面把每一个菜单对应的对话框加载到view类上去呢
- COM调用成功,DCOM调用失败,请大虾指点迷津
- 线程过程中如何修改类成员变量?急!
- 为什么winpcap抓不到包?
- 关于ListCtrl?
- 图像采集卡的有关问题
- 还有人在吗?CreateProcess后,要对这个进程(有窗口的)发送消息使之显示在最前面,该怎么办?
- 【小测验】:已知一个CStringArray ,是无序的,如何按照它所含的字符个数进行排序组成一个新的 CStringArray?
//{{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;
}
}