用按钮实现图片的放大和缩小,有个小问题MFC
青天白鹭 2014-07-16 11:33:17 [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;
}
}