用按钮实现图片的放大和缩小,有个小疑点MFC

用按钮实现图片的放大和缩小,有个小问题MFC
   [size=16px]一共有四个按钮,我该如何通过按钮来改变switch中num的值,来实现比例放大缩小呢?貌似还是小白阶段,求帮助。。。。WFC基于对话框程序!!

[/size]

void CPicture2Dlg::DrawPicture(int num)
{
CRect r;
CPicture2Dlg m_picture;
m_picture.GetClientRect(&r);
CDC*pDC=m_picture.GetDC();
pDC->FillRect(&r,NULL);
CBitmap cbmp;
cbmp.LoadBitmap(IDB_BITMAP1);
CDC memdc;
memdc.CreateCompatibleDC(pDC);
memdc.SelectObject(&cbmp);

BITMAP bmp;
long width,height;
cbmp.GetBitmap(&bmp);
width=bmp.bmWidth;
height=bmp.bmHeight;//插入位图工作

//////////////////////////////////////////////////问题所在!!
switch(num)
{
case 0:
pDC->StretchBlt(r.left,r.top,(int)(width*0.5),(int)(height*0.5),&memdc,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
break;
case 1:
pDC->StretchBlt(r.left,r.top,(int)(width*0.75),(int)(height*0.75),&memdc,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
break;
case 2:
pDC->BitBlt(r.left,r.top,r.Width(),r.Height(),&memdc,0,0,SRCCOPY);
break;
case 3:
pDC->StretchBlt(r.left,r.top,r.Width(),r.Height(),&memdc,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
break;
}
}
------解决方案--------------------
把你的绘图函数放到OnButton1函数中阿。


或者用一个类成员变量来保存放大倍数。然后在点击按钮时修改这个放大倍数。修改后再强制重新绘制图片。绘制图片时根据放大倍数绘制。
至于这个放大倍数值,你可以用一个输入框来接收。或者四个按钮,每个按钮对应一个不同的放大倍数值。

这个不复杂,慢慢来
------解决方案--------------------
int i_change'//这个事全局变量
//然后调用你的变化函数
//单机放大按钮就
DrawPicture(++i_change);
//单击缩小按钮就
DrawPicture(--i_change);
还应该判断
if(0 >= i_change) i_change=0;
if(4 <=i_change) i_change=4;
//大概就是这个思路,自己整理吧!