关于控件闪烁问题 我在Form中拉了一个DWGTrueView的控件(这是一个可以显示DWG文件的控件,安装了DWG TrueView 2008就有的),可以正常显示DWG文件,当我改变窗口大小或最小化窗口时会闪烁,应该是重绘引起的,请问有什么办法解决吗?闪烁也没多大问题,只是闪烁之后显示不正常,看不到DWG图,要重新最小化最大化之后才能看到! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 让背景不刷新瞧瞧 invalidateRect(&RECT,false); 缩小你的无效区 不刷整个背景 让控件区域属于有效区看看。 我重载了OnEraseBkgnd()BOOL CMainFrame::OnEraseBkgnd(CDC* pDC){ return -1; //return CFrameWnd::OnEraseBkgnd(pDC);}但还是没用,还是会重绘背景的 父窗口加上WS_CLIPCHILDREN样式。 我的是基于FormView的SDI,重载OnEraseBkgnd()是在主框架类中吗? 我在主框架类中的PreCreateWindow()中加入了cs.style |= WS_CLIPCHILDREN;,但还是会重绘啊! 试试为 FormView 添加 WS_CLIPCHILDREN 风格。 还是不行,我是看了这篇文章http://www.itwis.com/html/c/ctool/20080512/1484.html,照着上面的第二步做的,但还是会重绘背景 关于重绘是闪烁的处理方法1、子窗口引起的闪烁,父窗口可以尝试使用WS_CLIPCHILDREN样式解决2、CS_VREDRAW,CS_HREDRAW,分别表示纵向和横向大小改变时,重绘整个窗口3、WM_ERASEBACKGROUND优化4、InvalidateRect取代Invalidate5、双缓冲。 先获得控件的矩形区域 然后 invalidateRect 动态创建的按钮如何动态的增加此按钮的消息响应? 最后45分了,什么样的容器可以实现这样的功能? 多个Cstring优化的问题 cximage类库使用的问题 在SDI有多个VIEW的程序中,第二个VIEW最好的添加方式是什么? 有存储int型的数组吗? --! 如何在一个新建的MFC单文档程序运行之前,先显示出一个用户登陆的窗口? MFC编程,dc.SetBkColor()设置的背景色只在当前可见视图区有效,在滚动条滚动到新的视图区无效 请了,谁来拿分? 5分,能问个问题吗? 关于Datasend参数的问题 我想作成csdn这样的界面
BOOL CMainFrame::OnEraseBkgnd(CDC* pDC)
{
return -1;
//return CFrameWnd::OnEraseBkgnd(pDC);
}
但还是没用,还是会重绘背景的
试试为 FormView 添加 WS_CLIPCHILDREN 风格。
1、子窗口引起的闪烁,父窗口可以尝试使用WS_CLIPCHILDREN样式解决
2、CS_VREDRAW,CS_HREDRAW,分别表示纵向和横向大小改变时,重绘整个窗口
3、WM_ERASEBACKGROUND优化
4、InvalidateRect取代Invalidate
5、双缓冲。