int m_nScale = 100; // 比列,初始为100%
void CaDlg::OnPaint()
{
CPaintDC dc(this); // 用于绘制的设备上下文
CRect rc( 10, 20, 100, 200 ); // 初始矩形
rc = rc.MulDiv( m_nScale, 100 ); // 按比例求大小
dc.FillRect( rc, 0 ); // 画比例改变后的矩形
}
void CaDlg::OnMouseHWheel(UINT nFlags, short zDelta, CPoint pt) //滚动消息
{
CDialogEx::OnMouseHWheel(nFlags, zDelta, pt);
m_nScale += zDelta; // 设置比例
Invalidate(); // 重画
}
WM_MOUSEWHEEL:鼠标滑轮消息,使用WM_MOUSEWHEEL需要将CWnd设置为focus