}
void CBmpScaleView::OnViewGdi()
{
m_gdi_draw=!m_gdi_draw; //切换显示方式
Invalidate(true); //刷新客户区显示位图
}
5.5添加位图缩放操作菜单
在菜单资源“IDR_BMPSCATYPE”下面的“查看”分别增加3个菜单项:“原图大小”、“缩小图像”和“放大图像”,对应的ID名为“ID_VIEW_ORIGINAL”、“ID_VIEW_ZOOMOUT”和“ID_VIEW_ZOOMIN”。在CBmpScaleDoc中,分别为这3个菜单项映射消息“COMMAND”, 其对应代码如下:
void CBmpScaleDoc::OnViewOriginal()
{ //按原图大小比例显示
m_scale = 1.0;
m_Bmp.Zoom(m_scale); //调用缩放函数
UpdateAllViews(NULL); //更新显示所有视图
}
void CBmpScaleDoc::OnViewZoomin()
{ //放大操作
m_scale += 0.5; //放大0. 5倍
m_Bmp.Zoom(m_scale); //调用缩放函数
UpdateAllViews(NULL);
}
void CBmpScaleDoc::OnViewZoomout()
{ //缩小操作
m_scale *= 0.75; //缩小到0.75倍
m_Bmp.Zoom(m_scale); //调用缩放函数
UpdateAllViews(NULL);
}
|