各位大虾,这是一个书本上的例子:
//
//m_rectEllipse,CRect型全局变量,保存单击的目标区域,用来判断单击是否落在该区域。
//
void CTest_10View::OnLButtonDown(UINT nFlags, CPoint point) 
{
CClientDC dc(this);
OnPrepareDC(&dc); #转化映射模式到逻辑坐标

CRect rectDevice = m_rectEllipse; //#1
dc.LPtoDP(rectDevice); //#2
if (rectDevice.PtInRect(point)) //#2
{
if (m_nColor == GRAY_BRUSH)
{
m_nColor = WHITE_BRUSH;
}
else
{
m_nColor = GRAY_BRUSH;
}
InvalidateRect(rectDevice); //#2
}
CScrollView::OnLButtonDown(nFlags, point);
}
如果我删除#1处的语句即不定义rectDevice,而想直接用全局变量m_rectEllipse来选择区域,并实现鼠标左击改变选择区域(rectEllipse)的颜色,所以,我做了以下的处理:
 删除#1语句
 改变#2语句中所有的rectDevice为m_rectEllipse
为什么实现不了我的想法呢?请大虾们帮忙。谢谢。