仿QQ程序在WIN7下花屏的解决方案

ringphone 2010-12-27 11:03:37
很多朋友反应我的仿QQ程序在WIN7下如果调整窗口大小,界面会花,一直没空及没测试条件,最近换了WIN7,终于知道原因了,原来发过一篇BLOG:《奇怪的问题,InvalidateRect最后一个参数在XP下无效》,XP下无论最后一个参数是TRUE还是FALSE,都会刷新背景,看来WIN7修正了这个问题。仿QQ程序为了防止在XP下闪烁,对此做了处理,在WM_ERASEBKGND直接返回TRUE,导致WIN7下不再刷新背景,解决方法也很简单,只要在WM_SIZE消息里面在最后通知刷新一下背景就可以了:

RINGMAINMSG(WM_SIZE)
{
...
InvalidateRect(m_hWnd,NULL,TRUE);
return res;
}
...全文
384 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
fage87295970 2013-03-26
  • 打赏
  • 举报
回复
最近正在研究楼主的仿QQ程序,一切在Windows Xp下都是正常的,可在Win7下有些问题,问题如下: 1、在win7下,用VS2010编译(纯RingSDK库),发现在RingApp.Run()中的GetMessge函数无法执行,卡死在那了 2、在MFC下使用RingSDK的图像库,主要是对"ringdib.h"、"ringdows.h"的引用,发现无论在XP还是win7下,总是出现“error LNK2005: _strtod 已经在 libcmtd.lib(strtod.obj) 中定义”、“fatal error LNK1169: 找到一个或多个多重定义的符号”,经过查找发现是由“DIBREGFORMAT(PNG)”造成的,如果不使用DIBREGFORMAT(PNG),则PNG图片就无法使用了。
zhm_joy 2012-08-22
  • 打赏
  • 举报
回复
兄台,你咋绕过的呢,我都被这整头大了呢,能分享下不[Quote=引用 8 楼 的回复:]
真有责任心
win7下的刷屏机制确实有改进
我还遇到过xp下不闪到win7下闪的情况
不过当时没细研究采用别的方法绕过去了
[/Quote]
向立天 2011-01-25
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖

相关规定详见界面界面版关于版主结帖工作的具体办法
向立天 2010-12-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dianhui 的回复:]
引用楼主 ringphone 的回复:
很多朋友反应我的仿QQ程序在WIN7下如果调整窗口大小,界面会花,一直没空及没测试条件,最近换了WIN7,终于知道原因了,原来发过一篇BLOG:《奇怪的问题,InvalidateRect最后一个参数在XP下无效》,XP下无论最后一个参数是TRUE还是FALSE,都会刷新背景,看来WIN7修正了这个问题。仿QQ程序为了防止在XP下闪烁,对此做了处理,在WM_……
[/Quote]
论坛有教程啊
看界面版的推荐帖
_JeffreyWu 2010-12-28
  • 打赏
  • 举报
回复
MARK,学习
fangchao918628 2010-12-27
  • 打赏
  • 举报
回复
感谢分享.....
fishion 2010-12-27
  • 打赏
  • 举报
回复
感谢LZ的无私分享
手机写程序 2010-12-27
  • 打赏
  • 举报
回复
Mark.
oyljerry 2010-12-27
  • 打赏
  • 举报
回复
^_^,是API改进了啊·
j8daxue 2010-12-27
  • 打赏
  • 举报
回复
InvalidateRect和Invalidate有什么区别呢?
Eleven 2010-12-27
  • 打赏
  • 举报
回复
感谢分享。。。
shen_wei 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dianhui 的回复:]
引用楼主 ringphone 的回复:
很多朋友反应我的仿QQ程序在WIN7下如果调整窗口大小,界面会花,一直没空及没测试条件,最近换了WIN7,终于知道原因了,原来发过一篇BLOG:《奇怪的问题,InvalidateRect最后一个参数在XP下无效》,XP下无论最后一个参数是TRUE还是FALSE,都会刷新背景,看来WIN7修正了这个问题。仿QQ程序为了防止在XP下闪烁,对此做了处理,在WM_……
[/Quote]提供一下你的仿QQ程序的下载地址
webipstin 2010-12-27
  • 打赏
  • 举报
回复
这么说InvalidateRect这个函数有BUG.
dianhui 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 ringphone 的回复:]
很多朋友反应我的仿QQ程序在WIN7下如果调整窗口大小,界面会花,一直没空及没测试条件,最近换了WIN7,终于知道原因了,原来发过一篇BLOG:《奇怪的问题,InvalidateRect最后一个参数在XP下无效》,XP下无论最后一个参数是TRUE还是FALSE,都会刷新背景,看来WIN7修正了这个问题。仿QQ程序为了防止在XP下闪烁,对此做了处理,在WM_ERASEBKGND直接返回TRUE,导致……
[/Quote]

能不能提供一下你的仿QQ程序的下载地址啊?
向立天 2010-12-27
  • 打赏
  • 举报
回复
真有责任心
win7下的刷屏机制确实有改进
我还遇到过xp下不闪到win7下闪的情况
不过当时没细研究采用别的方法绕过去了
cdsnpeter 2010-12-27
  • 打赏
  • 举报
回复
感谢LZ的无私分享
MaxDOS 7.1 说明文件 关注新版,意见建议请到 Http://MaxDOS.Net 或 Http://Pzz.Cn =============================================================================== 集成DM/PQ版,支持Windows Vista/Server 2008版,U盘版,PXE版,光盘等其它的MaxDos7.1版 本,如果您需要以上版本,请关注我们的网站,感谢您的使用. MaxDOS 7.1 更新如下: 重要改进: 网刻服务端升级为 MAXNGS 2.0 修正网刻服务端同一时间内DHCP只能提供一个IP地址,第二台无汉获得IP地址. 修正DHCP分配 IP时,一台机器分配了两个IP.修正TFTP不能同时传送多个进程. 增加多网段功能,当使用大网段时,可设置超过多少台机器自动跳跃至下一网段,理论支持无 限台客户端,增加方案功能,当首次设置完毕后,方案将自动被保存,下次使用无需再次设置. MAXDOS客户端: 增加新的引导器,主要用于解决某些特殊的主板,或者某些特殊的芯片组引导问题, 特别是针对笔记本无法引导的问题,以及原来7.0 版的启动花屏,或启动重启等现像的修正. 增加对64位操作系统的支持,主要为 64位的VISTA和2008SERVER的支持问题. 增加对繁体中文操作系统的支持,繁体中文操作系统可正常显示繁体文字. 增加软件的兼容性,增加备份目录创建是否成功提示,以免一键还原失效. 改进Realtek TEL8169网卡驱动问题. 增加部份新的网卡驱动. 修正NVDIA自动识别网卡时卡住,改为提示手动加载. 增加NDIS驱动手动选择菜单. 修正自动网刻时,使用手动加载网卡驱动时会报错问题. 收入置顶贴中的网卡驱动收集贴的驱动至12月10日.更新内置的常用软件. 更新控制台为 2.0 可显示引导模式状态,及增加引导器新老版本的切换功能. 友情提示,如果你的主板为NVIDIA芯片组,而不能识别网卡的,请尝试使用手动加NVIDIA驱动. 还有其它功能,未能一一列出. =============================================================================== 软件特色功能如下: 1. 为装好的Win2K/XP/2K3/VISTA/2008系统加入DOS入口,方便维护与备份还原系统. 2. 支持进入DOS时设置密码,密码采用MD5加密,纯绿色软件,不写引导区. 3. 内置200多种网卡驱动,实现GHOST网络刻隆及DOS下访问局域网的共享资源. 4. 全中文的操作方式,让您使用时更简单,支持DOS下显示中文及五笔拼音输入. 5. 完全傻瓜化的网刻模式,让没用过本软件的用户也能轻松实现网刻. 6. 支持引导自已制作IMG镜像,并且支持引导自己制作的无限大小IMG镜像. 7. 全自动化的中文一键恢复/备份,让您备份/恢复系统时更简便. 8. 支持系统盘为NTFS分区,支持读取. 修改. 删除. 复制NTFS分区内容. 9. 内置软件如:NT系统密码清除,DISKGEN. SPFDISK. Ghost等软件. 10.支持DOS驱动SATA. SCSI. 1394. USB. PCMCIA等设置,可直接在DOS下访问. 11.首家独创全面支持nVIDIA全系列网卡网刻,更多精采内容请查阅“说明文件”. =============================================================================== MaxDOS 7.1  使用前注意事项及常见问题: 重要1: 如果您的机器中同时安装了双系统并且有VISTA或2008系统,请勿必在您的VISTA或 2008系统中安装MaxDOS否则可能不能正常启动MaxDOS,请至我们网站下载专用版本. 重要2: 7.1 版需要专用网刻服务端支持,网刻前请先下载网刻服务端,并且设置好服务端后方 能进入客户端网刻,服务端下载及网刻教程地址 http://pzz.cn/bbs/read.php?tid=50400 网刻前请先关闭局域网中的其它DHCP服务器,以免出现IP分配冲突,造成连接不上服务端. 重要3: 7.1 版的Max防病毒功能需要专用的防病毒控制服务端,如果您安装了防病毒客户端后 请至我们的网站 http://pzz.cn/bbs/read.php?tid=50433 中下载专用的防病毒服务端方 能实现防病毒功能,如果您不需要该功能可以控制面板中的添加删除程序中卸载. 重要4: 7.1 版中的Max防病毒功能主要针对网吧或企

15,979

社区成员

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

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