对话框中调用InvalidateRect()不停闪的问题!

cococut 2006-06-19 11:17:22
1,对话框中有一个定时器,一分钟调用
::InvalidateRect(this->m_hWnd,&rc1,FALSE);一次,
对话框中的某个区域(该区域中有很多控件)进行刷新,可是界面不停的闪,
怎么解决?
谢谢!
...全文
436 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuyuan830705 2006-06-19
  • 打赏
  • 举报
回复
先Invalidate()再ValidateRect()都不行啊?只好看别人怎么做了~~~学习一下~~~
cococut 2006-06-19
  • 打赏
  • 举报
回复
TO yuyuan830705() 不行,用InvalidateRect()界面才能正确刷新,不过就是很闪,
to lixiaosan(小三),怎么用双缓冲绘图,能详细给我说说吗?
to DentistryDoctor,rc1是我用刷新的界面上的某个区域!
yuyuan830705 2006-06-19
  • 打赏
  • 举报
回复
这样吧:Invalidate()之后。再用:ValidateRect()函数禁止这块画面更新。试试看吧?
lixiaosan 2006-06-19
  • 打赏
  • 举报
回复
重载OnEraseBkgnd(CDC* pDC) ,直接返回TRUE

双缓冲绘图
DentistryDoctor 2006-06-19
  • 打赏
  • 举报
回复
rc1?
cococut 2006-06-19
  • 打赏
  • 举报
回复
to zhucde(【風間苍月】) ,我用过啦,这样控件可以刷新,
背景不能刷新,都黑啦,我的界面是不能快速拉动滚动条,
界面上的播放的视频会盖住我的一些按钮,我需要把按钮刷新。
cococut 2006-06-19
  • 打赏
  • 举报
回复
不会,就是那块的那个区域在闪,
Invalidate(false)我用过,
不能刷,用InvalidateRect()才能刷,
不过就是闪。
zhucde 2006-06-19
  • 打赏
  • 举报
回复
对各个控件单独进行刷新:
GetDlgItem(IDC_STATICPIC)->RedrawWindow();
GetDlgItem(IDC_DSTPIC)-> Invalidate(0);
yuyuan830705 2006-06-19
  • 打赏
  • 举报
回复
::InvalidateRect(this->m_hWnd,&rc1,FALSE);?
this是这块区域的m_hWnd?会不会是楼主不小心用成了整个Dialog的m_hWnd??
mynamelj 2006-06-19
  • 打赏
  • 举报
回复
这是让窗口重绘,控件应该会自已更新的吧,干嘛要用invalidate,当绘图的时候才用到它的
syy64 2006-06-19
  • 打赏
  • 举报
回复
Invalidate(false)试试。
booklove 2006-06-19
  • 打赏
  • 举报
回复
写一个draw函数,像画图一样专门画你的rc1这一部分,隔一分钟draw一下,不要刷新,就不闪了。
cococut 2006-06-19
  • 打赏
  • 举报
回复
TO lixiaosan(小三) ( )
我在我的对话框中添加,
BOOL CMyDlg::OnEraseBkgnd(CDC* pDC)
{
int nWidth;
int nHeight;
CRect rect;
GetWindowRect(&rect);
nWidth = rect.Width();
nHeight= rect.Height();

CDC MemDC;
CBitmap MemBitmap;

MemDC.CreateCompatibleDC (NULL);
MemBitmap.CreateCompatibleBitmap(pDC,nWidth,nHeight);

CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
MemDC.FillSolidRect(0,0,nWidth,nHeight,RGB(255,255,255));

pDC->BitBlt(0,0,nWidth,nHeight,&MemDC,0,0,SRCCOPY);
MemBitmap.DeleteObject();
MemDC.DeleteDC();

return TRUE;
//return CWnd::OnEraseBkgnd(pDC);
}
还是很闪,为什么?
lixiaosan 2006-06-19
  • 打赏
  • 举报
回复
http://www.pconline.com.cn/pcedu/empolder/gj/vc/0507/653941.html

15,976

社区成员

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

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