MFC 绘制矩形时怎么清除上一个矩形?我的程序加上Invalidate()之后就不能画矩形了,想在每次绘制前清除上一次绘制的图形应该怎么做?LRESULT CClientDemoDlg::OnWMScreenFocus(WPARAM wParam,LPARAM lParam){//\x09Inv

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 04:29:11
MFC绘制矩形时怎么清除上一个矩形?我的程序加上Invalidate()之后就不能画矩形了,想在每次绘制前清除上一次绘制的图形应该怎么做?LRESULTCClientDemoDlg::OnWMScre

MFC 绘制矩形时怎么清除上一个矩形?我的程序加上Invalidate()之后就不能画矩形了,想在每次绘制前清除上一次绘制的图形应该怎么做?LRESULT CClientDemoDlg::OnWMScreenFocus(WPARAM wParam,LPARAM lParam){//\x09Inv
MFC 绘制矩形时怎么清除上一个矩形?
我的程序加上Invalidate()之后就不能画矩形了,想在每次绘制前清除上一次绘制的图形应该怎么做?
LRESULT CClientDemoDlg::OnWMScreenFocus(WPARAM wParam,LPARAM lParam)
{
//\x09Invalidate();
\x09CRect rect;
\x09GetDlgItem(m_FocusScreenItem)->GetWindowRect(&rect);
\x09ScreenToClient(&rect);
\x09CBrush br;
\x09CPen pen;
\x09pen.CreatePen(PS_SOLID,3,RGB(121,146,221));
\x09br.CreateStockObject(NULL_BRUSH);//8.26
\x09
\x09CClientDC dc(this);
\x09dc.SelectObject(&pen);
\x09dc.SelectObject(&br);
\x09dc.Rectangle(&rect);
\x09
\x09return true;
}

不是在同一个位置的,是想画第二个时清除第一个.

MFC 绘制矩形时怎么清除上一个矩形?我的程序加上Invalidate()之后就不能画矩形了,想在每次绘制前清除上一次绘制的图形应该怎么做?LRESULT CClientDemoDlg::OnWMScreenFocus(WPARAM wParam,LPARAM lParam){//\x09Inv
1、继承CWnd函数:
InvalidateRect(NULL);
UpdateWindow();
2\更多交流参考我空间文章.