PROGRAM TO ZOOM A RECTANGLE AS YOU DRAG
1. Generate a SDI application
2. Declare the 2 member variables clicked of Boolean type and m_ptoldpt of CPoint type. Use the class tab page and add member variables on the View Class by right clicking.
3. Using the Class wizard add the messages left button up, left button down and mouse move.
4. Type the below coding in the left button down the event handler.
void CDragView::OnLButtonDown(UINT nFlags, CPoint point)
{
clicked=true;
}
The Boolean variable clicked is put to true.
5. Type the below coding in the left button up event handler.
void CDragView::OnLButtonUp(UINT nFlags, CPoint point)
{
clicked=FALSE;
Invalidate(TRUE);
}
The Boolean variable clicked is set to FALSE and OnDraw() function is called using the Invalidate() function. The TRUE parameter clears the screen by calling the WM_PAINT.
6. Type the below coding in the Mouse Move event handler.
void CDragView::OnMouseMove(UINT nFlags, CPoint point)
{
if(clicked)
{
CDC *dc = GetDC();
dc->Rectangle(oldpt.x,oldpt.y,point.x,point.y);
oldpt=point;
}
}
When the mouse button is released with the end point as first point and where the mouse button was released a rectangle would be drawn.