控件怎么防闪! 当用某个窗口在我的程序窗口上移动的时候, 我的程序窗口中的控件都闪动, 请问怎么给控件做防闪处理. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 出现闪烁是因为其他窗口在你的程序窗口上移动之后,会使你的程序窗口的相应区域变为无效区域,并触发WM_PAINT消息。如果闪烁比较明显,建议LZ检查下自己处理WM_PAINT消息的函数中是否有很耗时的显示操作。 这个有几种可能:1.如果你自己重载过OnPaint之类的消息的话,画图的时候一定要加缓冲,最后一次性画到屏幕DC上。2.如果你界面布局比较复杂,层次很多,那就容易闪烁,层次越多闪的越厉害。3.是否使用了TabCtrl?如果把各个页面的父窗体设为TabCtrl,那么窗体在大小改变或者刷新的时候闪的就比较厉害。UltraEdit配置界面也用到了TabCtrl,但是大小变化的时候不会闪。他的做法是,各个页面的父窗体并不是TabCtrl,各个页面与TabCtrl是平级的,但是TabCtrl的Z-Order被放在最下面。4.适当的根据情况调整ClipSibling和ClipChildren属性,会明显的减少闪烁问题。 LZ重载的WM_PAINT消息处理函数里面(如OnPaint()、OnDraw())是否有很耗时的操作?如果有,建议LZ使用双缓冲,还有如果是在WINCE或其他平台,而不是WIN32平台开发,刷新慢的现象就更为明显。所以LZ一定要提高自己程序里面WM_PAINT消息处理函数的效率 同时创建多个同一CLSID对象 CListCtrl的问题... 请教:程序中两个对话框怎样对到对方的指针! GetStdHandle(STD_INPUT_HANDLE)返回的标准输入Handle等于0,当前程序中标准输入是否可用? 一个题外话 win32 Release 和win32 debug 是什么意思。我是新手,谢谢大家关注! 请问如何在运行状态设置Edit控件的对齐方式? *.txt文件中可能含有病毒吗? 怎样实时获得文件大小 为什么非模态对话框浮在最上面?(在线等待) TCP协议发数据包 如何在一个BOOL函数里发送一些数据给服务器然后根据服务器返回的信息判断结果?
并触发WM_PAINT消息。
如果闪烁比较明显,建议LZ检查下自己处理WM_PAINT消息的函数中是否有很耗时的显示操作。
1.如果你自己重载过OnPaint之类的消息的话,画图的时候一定要加缓冲,最后一次性画到屏幕DC上。
2.如果你界面布局比较复杂,层次很多,那就容易闪烁,层次越多闪的越厉害。
3.是否使用了TabCtrl?如果把各个页面的父窗体设为TabCtrl,那么窗体在大小改变或者刷新的时候闪的就比较厉害。UltraEdit配置界面也用到了TabCtrl,但是大小变化的时候不会闪。他的做法是,各个页面的父窗体并不是TabCtrl,各个页面与TabCtrl是平级的,但是TabCtrl的Z-Order被放在最下面。
4.适当的根据情况调整ClipSibling和ClipChildren属性,会明显的减少闪烁问题。
所以LZ一定要提高自己程序里面WM_PAINT消息处理函数的效率