为什么绘制的图形无法刷新?

DesignSelf 2005-09-29 10:15:46
我在对话框上绘制了一个图形,但在对话框拖大的过程中,图形无法自动刷新,出现几个图形都绘制出来的情况,不知如何解决?
void CDlgUserInfo::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CDialog::OnPaint()

CRect rcClient;
GetClientRect(&rcClient);
CPen pen(PS_SOLID,1,RGB(255,0,0));
dc.SelectObject(&pen);
dc.RoundRect(&rcClient,CPoint(10,10));
}
...全文
91 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodboyws 2005-09-29
  • 打赏
  • 举报
回复
CPaintDC得到的无效区域只有对话框变化的那么一小块,所以有你说的现象
y0z0 2005-09-29
  • 打赏
  • 举报
回复
为CDlgUserInfo添加以下事件WM_SIZE的消息处理函数OnSize,并在该函数内调用Invalidate(TRUE)表示擦除原来窗口中内容

void CDlgUserInfo::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);

// TODO: 在此处添加消息处理程序代码
this->Invalidate(TRUE);
}
csdn_cht 2005-09-29
  • 打赏
  • 举报
回复
没有清除背景。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧