主窗口很多控件上都写了重绘代码,每次一刷新什么的主窗口就很闪,特别是用IE的工具里的清除历史记录。我把那些控件的双缓冲也都开了,WM_Erasebkgnd消息被我
返回1。
我用Sp++去截消息,WM_SETTINGCHANGE, WM_GetMinMaxINfo, wm_notify 每次闪的时候,这三消息出现的频率最高,我把前边俩个都截了,效果稍微好点点
分只有这么多了,没100分发不了专家帖。
返回1。
我用Sp++去截消息,WM_SETTINGCHANGE, WM_GetMinMaxINfo, wm_notify 每次闪的时候,这三消息出现的频率最高,我把前边俩个都截了,效果稍微好点点
分只有这么多了,没100分发不了专家帖。
解决方案 »
- 请教各位老师,怎么将word文档中的表格保存到access中,同时通过memo控件显示?
- ⊙⊙ 推荐一下你认为最好的Delphi优秀免费资源,欢迎跟贴!!!⊙⊙
- delphi + crystalreport的开发
- 请教显示图片问题?
- TADOQuery 控件如何得到某个符合条件记录集的条数?
- small_roc(小飞)进来拿分,谢谢你的powerdesigner的下载地址
- IdUDPClient如何知道发送的端口号?
- 关于Image的图片切换问题!
- Oracle 恢复问题请教
- 一个关于打印的问题,请各位朋友帮忙
- serverSocket与clientSocket连接久了,会自动掉线?
- ActiveX与javascript的问题
WM_ERASEBKGND WPARAM wParam
LPARAM lParam;
ParameterswParam
Handle to the device context.
lParam
This parameter is not used.
Return ValueAn application should return nonzero if it erases the background; otherwise, it should return zero.
是自己做的主動UPDATE窗口還是??
代码很多, 有的地方是有REFRESH
跟主窗口有啥关系,你自己写的控件没必要擦除背景的话就 return 0
這樣就比較麻煩。 最好采用局部刷。 不要直接調用 reFresh. 這樣做的話肯定就刷新所有控件了。
菠菜好久不见, 其实我也这么觉得, 因为那窗口控件太多, 是个以前搞VB的老程序员写的, 那个窗口被他拖了200多控件上去.... 他没类的概念, 指针也不释放, 另外代码风格很怪异, 看得我很头大, 我三星期的任务就改这BUG, 拜托大家多帮忙
Invalidate() 有空时刷新显示,如果调用很多次,如果前面的还没重绘,最后也只绘一次。
造成 B 的OnChange,而 B.OnChange 中又改写了 A 或 C 的OnChange
从而可能造成一个控件的多次重绘!仔细检查一下事件处理代码,可能有帮助
wm_notify 要留意CHANGE事件主要做了什麼
结帖