在对话框中用OnPaint函数绘图,重绘一次,就会有白色条带出现,是怎么回事?

gchao3325 2003-08-20 07:39:22
在对话框中用OnPaint函数绘图,单击一次鼠标左键,就重绘一次,但是每画一次,对话框上都会有一个白色条带从左贯串到右闪一下,一会就消失,位置不定。OnPaint函数的内容如下:
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.FillSolidRect(rect.left,rect.top,rect.right,rect.bottom-250,RGB(0,0,128));
//dc.Ellipse(rect.left,rect.top+200,rect.right,rect.bottom);
dc.FillSolidRect(rect.left,rect.bottom-250,rect.right,rect.bottom,RGB(128,128,0));
请问这是怎么回事?怎么解决?
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mct1025 2003-08-21
  • 打赏
  • 举报
回复
我试过你的代码,没有白色条带从左贯串到右闪一下,一会就消失,位置不定

我使用 win2000 + vc6
gchao3325 2003-08-21
  • 打赏
  • 举报
回复
你应该写在对基类调用的后面?是什么意思?
soso82 2003-08-20
  • 打赏
  • 举报
回复
你上面的语句是否些写在OnPaint()里。OnPaint()里面有个对基类CDialog::OnPaint();的调用,你应该写在对基类调用的后面。 如果不是的话,可能是你其他的影响
gchao3325 2003-08-20
  • 打赏
  • 举报
回复
我现在是通过Invalidate来实现对OnPaint的调用的,不知楼上的是什么意思?
soso82 2003-08-20
  • 打赏
  • 举报
回复
把你以上这些放到CDialog::OnPaint();后调用

19,468

社区成员

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

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