我在对话框中加了个Picture控件(IDC_IMAGE),然后用以下的代码往这个控件里加了副图片:
HBITMAP hbmp;
CRect rect;
GetDlgItem(IDC_IMAGE)->GetWindowRect(&rect);
hbmp=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),FilePath,
IMAGE_BITMAP,rect.Width(),rect.Height(),LR_LOADFROMFILE|LR_CREATEDIBSECTION);
CStatic *pcst=new CStatic();
pcst=(CStatic *)this->GetDlgItem(IDC_IMAGE);
pcst->SetBitmap(hbmp);
我现在想在对话框上加两个按钮,一个放大一个缩小,在放大或缩小的过程中,控件大小保持不变,请问具体该怎么实现?我用的是VC2005。
ç¨StretchBltå½æ°å³å¯å®ç°ï¼åè代ç å¦ä¸ï¼
void CImgWnd::OnPaint()谢谢你,我不是计算机专业的,只是业余搞点程序,所以有很多东西一窍不通。不管怎样,感谢好心人的回答。
参考资料:http://msdn.microsoft.com/en-us/library/dd145120(v=vs.85).aspx
能具体一点吗,谢谢了。
追答http://wenku.baidu.com/view/454769d87f1922791688e858.html
百度文库里的文章,看看吧,可能对你有帮助
我今天还是用这个函数LoadImage(AfxGetInstanceHandle(),FilePath,
IMAGE_BITMAP,rect.Width(),rect.Height(),LR_LOADFROMFILE|LR_CREATEDIBSECTION);
修改了里面的参数4和参数5,结果就实现了……我只是觉得这样做很低级。所以想用你说的那个Bitblt和StretchBlt.不过怎样,都要谢谢你,本人小白一个。
你这样的实现方法比较死,只能在加载位图的时候改变他的大小,用Bitblt函数可以根据实际情况动态改变,学习后对将来的应用会有帮助的。学习新的东西最好的方式就是测试,你尝试看看吧
追问嗯,谢谢高人指点,我已经开始用Bitblt这个函数了。
追答高人可不敢当
互相学习 共同进步