BOOL b_Drawing; void CtestrectDlg::OnMouseMove(UINT nFlags, CPoint point) { CDC *pdc = GetDC(); RECT rc; CBrush cbr; cbr.CreateSolidBrush(RGB(128,128,128)); GetClientRect(&rc); pdc->FillRect(&rc, &cbr); if(b_Drawing) { cbr.CreateSolidBrush(RGB(128,128,255)); pdc->SelectObject(&cbr); pdc->Ellipse(point.x -40, point.y-20, point.x+40,point.y+20); } } void CtestrectDlg::OnLButtonDown(UINT nFlags, CPoint point) { b_Drawing = TRUE; } void CtestrectDlg::OnLButtonUp(UINT nFlags, CPoint point) { CString cs_coords; b_Drawing = FALSE; cs_coords.Format("ellipse center x= %d, ellipse center y= %d", point.x, point.y); AfxMessageBox(cs_coords); }