为什么系统执行了OnPaint过程却不显示出来。
lebor 2005-01-05 10:15:06 这样一段程序,鼠标按下,在对话框上画一个不同颜色的方块,抬起恢复。
鼠标按下后方块绘制过程也执行了,但是没有画到屏幕上,方块颜色没变。是何缘故, 请求指点。
为什么PAINT执行却不被应用到屏幕上。
void CMoeventDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
if(mouse_on)
dc.FillSolidRect(0,0,30,30,RGB(123,121,12));
else
dc.FillSolidRect(0,0,30,30,RGB(0,121,200));
CDialog::OnPaint();
}
void CMoeventDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
mouse_on=true;
SendMessage(WM_PAINT);
CDialog::OnLButtonDown(nFlags, point);
}
void CMoeventDlg::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
mouse_on=false;
SendMessage(WM_PAINT);
CDialog::OnRButtonUp(nFlags, point);
}