VC++ picture控件如何缩小尺寸?
VC picture控件可以显示jpg和imp图片了,想进一步实现按照界面布局的尺寸显示(缩小到固定尺寸),然后通过双击再显示原图大小!以下是实现的图片显示功能。
//VC++code:
[code=C/C++]void Dlgtest::OnBnClickAdd()
{
updateData(TRUE);
char szFilter[]= "(*.jpg)|*.jpg|(*.bmp)|*.bmp|| ";
CFileDialog op(TRUE,NULL,NULL,OFN_OVERWRITEPROMPT,szFilter,NULL};
if(op.Domodal()==IDOK)
{
CString Filepath = op.GePathName();
CImage imag;
HRESULT ret= imag.Load(Filepath);
HBTMAP hbmp=imag.Detach();
if(hbmp=NULL)retrun;
m_staic.SetBitmap(hbmp);
}
UpdateData(FALSE);
}[/code]
[解决办法]
CDC::StretchBlt
BOOL StretchBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, DWORD dwRop );
这个函数可以放缩位图。
你用双缓存方法将图片绘制到控件上即可。
[解决办法]
自绘CStatic控件,StretchBlt贴图~
[解决办法]
改变m_staic的尺寸就可以了吧
[解决办法]
MoveWindow
[解决办法]
m_staic.SetWindowPos
[解决办法]
直接百度
[解决办法]
if(hbmp=NULL)retrun;
你这句不就将hbmp赋值为空了么?判断相等用==,而不是=