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

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));
}
...全文
53 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过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
没有清除背景。
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2005-09-29 10:15
社区公告
暂无公告