在 MSDN 中,我读到了这个
在不使用 WM_PAINT 消息进行绘图时,应用程序通常不会使窗口无效。相反,它以一种可以轻松恢复窗口并删除绘图的方式进行绘制。
这是什么意思 ?因为我写了一个GIS程序,我想实现“放大”功能,鼠标左键向下移动鼠标绘制一个矩形,它正在绘制一个矩形但是矩形覆盖了地图,首先我认为是因为矩形是不透明的,那我用 AlphaBlend() 画一个透明的矩形,也是一样的。我应该怎么办 ?
LRESULT OnMouseMove(UINT nflags, CPoint point)
{
if (m_bZoomInMode)
{
m_curScreenPoint.x = point.x;
m_curScreenPoint.y = point.y;
HDC hdc = GetDC();
SelectObject(hdc, (HBRUSH)NULL_BRUSH);
Rectangle(hdc, m_startScreenPoint.x, m_startScreenPoint.y, point.x, point.y);
ReleaseDC(hdc);
return 0;
}
}