MFC实现 MSN QQ 窗口抖动

彻底解决MFC画面闪烁问题 闪烁的原因 画面闪烁的原因是一方面画面更新的太快,另一方面,采用了Invalidate(),即先擦除全部图画,再进行绘画,两者结合,导致画面闪烁,具体原理是绘画的图像和背景相差较大,即面积较大,颜色相差较大且每帧图像变化不明显,再加上频繁重绘,界面反复的在背景和图画间切换,最后的结果就就是闪烁严重。 探索解决办法 网上很多文章提出了双缓冲绘图法,这种办法虽然能够一定的缓解闪烁,但是还是没有从根本上解决上述问题,绘图过快的时候还是可能出现闪烁现象的,如果我们采用不擦除刷新,那么虽然每帧的图像差距不大了,不再闪 阅读详情
 

终于成功了,研究了一上午,呵呵

水平低,实现这么点小功能也蛮有成就感的,一定得加到我毕业设计里

嘿嘿

好了 代码贴出来

说实话这方法我自己都感觉好笨

哪位高手有好方法的,还请指教

void CWindouDlg::OnButton1()
{
 // TODO: Add your control notification handler code here

PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(),SND_ASYNC|
    SND_RESOURCE|SND_NODEFAULT);//使用PlaySound需要包含头文件Header: Declared in mmsystem.h.
                                //Import Library: Use winmm.lib.

 int ty=7;
 CRect   m_rect;  
 GetWindowRect(&m_rect);  
 for(int i=0;i<70;i++)
 {
 SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );
  m_rect.top = m_rect.top + ty; 
  m_rect.left = m_rect.left - ty;
  SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );
  m_rect.top = m_rect.top - ty; 
  m_rect.left = m_rect.left + ty;
  SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );
  m_rect.top = m_rect.top - ty; 
  m_rect.left = m_rect.left + ty;
  SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );
  m_rect.top = m_rect.top + ty; 
  m_rect.left = m_rect.left - ty;
  SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );
 }
}

吃饭的时候又想了想回来又弄了一下,比上午弄的那个更像MSN 和QQ了 嘿嘿 代码差不多

 int ty=5;
 CRect   m_rect;  
 GetWindowRect(&m_rect); 
 int recordy=m_rect.left;
 int recordx=m_rect.top;

for(int i=0;i<3;i++)
 {
    m_rect.left=recordy;
    m_rect.top=recordx;
    m_rect.top = m_rect.top + ty; 
    m_rect.left = m_rect.left - ty;
    SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );Sleep(35);
    m_rect.top = m_rect.top -ty;
    SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );Sleep(35);
    m_rect.top = m_rect.top -2*ty;
    SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );Sleep(35);
    m_rect.left=m_rect.left+ty;
    SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );Sleep(35);
    m_rect.left=m_rect.left+2*ty;
    SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );Sleep(35);
    m_rect.top = m_rect.top + ty; 
    SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );Sleep(35);
    m_rect.top=m_rect.top+2*ty;
    SetWindowPos( NULL,m_rect.left,m_rect.top,0,0,SWP_NOSIZE );
    SetWindowPos( NULL,recordy,recordx,0,0,SWP_NOSIZE );
    Sleep(35);
  }

MFC仿QQ窗口抖动效果,能自动播放声音 仿照QQ聊天窗口抖动效果,能自动播放声音。 代码写的比较潦草,勿喷! 立即下载

相关推荐

MFC窗口抖动

_strSend=" "+cuser+"对你发送了窗口抖动" else if(m_strUser=="大type=1;

MFC实现窗口抖动

首先,我们需要创建一个对话框工程,在按钮“晃动”里改写代码如下: // TODO: Add your control notification handler code here CRect rect; this-&gt;GetWindowRect(&amp;rect); int off = 5; for (int i = 0; i &lt; 10; i++) { rect.Of...

Werial 760

固定时间收敛的控制器设计(基础知识)

针对控制系统的有限时间收敛和固定时间收敛给出一些常用定理。

qq_40241332的博客 1万+

飞鸽---局域网聊天软件攻防战

0×00 前言   笔者发现不少甲方公司的办公网络依靠五花八门的局域网聊天软件进行办公通信,而这些软件中同样存在各种安全风险。本文就带大家利用协议分析技术来还原一款局域网聊天软件的通信协议,并对其进行简易攻击。 0×01 协议分析 网络协议是指计算机网络中通信双方必须共同遵守的一组约定,这些约定包括数据传输格式和顺序等内容,它最终体现为在网络上传输的数据包的格式,只有双方遵守相关约定才能确保正常...

weixin_33720452的博客 452

用LTspice仿真CMOS反相器功耗?这份避坑指南能省你3天调试时间

本文详细介绍了如何使用LTspice准确仿真CMOS反相器的功耗,包括动态功耗、短路功耗和静态功耗的测量技巧。通过工程实践指南,帮助电子工程师避开常见陷阱,优化仿真参数设置,提升仿真结果的可靠性,节省调试时间。

w7x8y9z的博客 190

独立站如何采集商品?外贸独立站采集教程

从这里Robert了解到还有国内有很多仿牌卖家、微商,都有类似的情况,他们出海的阻碍主要在于支付、物流、推广。8.插件“抓取任务”列表手动点同步,将商品同步到主商城后台商品管理列表(商品默认同步到下架列表中) 后台商品管理下架列表显示已同步商品。5.店铺信息修改完成后,可以开始采集商品,采集时弹窗中会自动识别当前平台及商品链接,分类和相册名称可以自定义 编辑修改。4. 打开采集目标站商品页面,点开谷歌浏览器扩展程序列表,找到Shopyy采集平台,打开配置页。打开弹窗中的“店铺管理”,添加店铺信息。

Jernnifer_mao的博客 1380

MFC实现QQ抖动

QQ抖动功能其实就是一个音频文件+窗口移动来实现的,这里我用到的播放音频文件的API是PlaySound,播放的音 频文件是"shake.wav",这个文件是直接在QQ安装目录下复制过来的,只要把它放到源程序目录下即可。在使用这个 播放音频的API:PlaySound时,需要在#include后面加上 #include #pragma comment(lib, "WINMM.LIB")

3174

DMC-E 系列总线控制卡----雷赛板卡介绍(十七)

低的速度平稳地接近目标位置,降低运动部件对接触点的冲击。设置插补目标位置,插补方向,以确定插补动作。圆形区域限位,即运动仅在用户设定的圆形范围内进行,超出这个范围,运动会依据设定。首先,用户需要绑定两个轴进而确定该功能所处的坐标系。仅支持平面圆形限位,不支持空间圆形限位。径,可以确定该区域在坐标系中的位置。)运动开始前,用户应当将旋转轴调整到与插补曲线的起点位置相切的角度;可以配合椭圆插补或圆弧插补运动,实现跟随轴的旋转运动角度与曲线当前。外,其它运动形式若开始运动时在限位区域外,则禁止运动;

A_nanda的博客 654

如鹏网C语言也能干大事精华帖

如鹏网 http://www.rupeng.com/ 1、尘封 俄罗斯方块 hity 俄罗斯方块 小马_xiao 由写俄罗斯方块引发的种种 2、Diao_Cow 很funny的程序 3、Diao_Cow 手把手教你写截图软件 尘封 截图软件 4、raigeki 播放器LRC歌词显示原理及LRC分析函数 cjnt007 用C语言打造的音乐播放器 ...

weixin_30784501的博客 310

甲基化生物信息学分析及批次效应校正全流程

本文系统阐述了DNA甲基化数据分析中的批次效应问题及解决方案。甲基化数据(β值和M值)对实验批次差异高度敏感,可能导致假阳性结果。文章详细介绍了批次效应检测方法(PCA可视化、BEclear定量评分)和校正流程,包括数据预处理、参数化(ComBat-met)与非参数化(BEclear)校正方法,并提供了完整的R代码实现。重点解决了β值有界分布与统计模型假设冲突的问题,为甲基化研究的可靠性提供技术保障。

huanghm88的专栏 111

QT-Creator安装教程(windows)

本文介绍了Qt的下载安装步骤:1)通过镜像源下载安装包;2)运行exe文件时使用命令行参数指定镜像地址;3)在安装过程中选择路径和自定义安装组件,包含QT5和QT6版本的详细安装说明;4)安装后可继续添加扩展包或卸载组件。重点提示了QT6必须勾选的关键组件,并提供了组件管理的操作方法。

qq_53545309的博客 3110

窗口抖动问题思考与解决

因为经常有 header 在最顶层,做菜单栏 也在最顶层。只有主窗口 内容一旦大于当前页面,会自动生成滚动条。上下华东查看内容。

bellus 3048

优化dalsa相机检测界面

上节实现了使用qt结合dalsa相机显示检测到缺陷的画面,由于窗口过于简陋,本节将进行一个界面优化。

A1983Z的博客 991

c++双缓冲防止重绘闪烁

//创建兼容DCCDC MemDC; //首先定义一个显示设备对象CBitmap MemBitmap;//定义一个位图对象 //随后建立与屏幕显示兼容的内存显示设备MemDC.CreateCompatibleDC(NULL);//这时还不能绘图,因为没有地方画 ^_^//下面建立一个与屏幕显示兼容的位图,至于位图的大小嘛,可以用窗口的大小MemBitmap.CreateCompa...

weixin_34408624的博客 266

GhidraMCP:AI驱动的逆向工程革命——让LLM自主操作Ghidra进行自动化分析

(Ghidra Machine Control Protocol)应运而生,它通过将LLM与Ghidra(美国NSA开源逆向工具)结合,实现了AI驱动的自动化逆向工程流程。逆向工程是软件安全、漏洞分析和代码审计的核心环节,但传统方法依赖人工分析,耗时且易出错。未来,随着LLM技术的演进和逆向工程工具的优化,GhidraMCP有望成为安全研究人员和开发者的核心工具,推动逆向工程进入“AI辅助时代”。GhidraMCP通过LLM与Ghidra的深度整合,重新定义了逆向工程的自动化边界。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 2119

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

MFC怎样使窗口震动,类似于QQ震动,但只要在本地就行

求解。。。

jun_abc的专栏 412

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

QQ中抖动窗口的实现方法

其实,QQ中抖动窗口的实现很简单,当用户按下抖动按钮的时候,播放一个WAV文件和按一定的顺序移动窗口就完了。。下面让我们来看一下具体的实现方法: 创建对话框应用程序,向对话框中添加一个按钮。讲按钮Caption改为:抖动窗口;然后双击按钮,为按钮添加BN_CLICK消息,在消息函数中我们会用到PlaySound这个SDK函数,用来播放WAV文件,也就是播放一段声音,该函数的第一个

sinat_15560643的博客 2418

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

MFC OpenCV:刷新图片以及防止窗口抖动的方法

背景   前置文章:MFC鼠标滚轮缩放OpenCV图片   使用滚轮缩小图片,使其小于MFC的PictrueContral控件大小时,发现缩小前的图片依旧存在,缩小后的图片重叠在其上。具体错误图片如下所示:   故缩放前先刷新图片。 刷新方法 一、先使PictrueContral控件不可见,后使其重新可见。 实现方法   在显示图片之前添加如下代码刷新MFC的PictrueContral控件,其...

北冥有鱼wyh的博客 2951

【MFC】窗口晃动及恢复

1、设置caption和计时器 2、窗口消息、计时器的宏定义 3、对话框增加消息响应函数,设置计时器

xl19900502的专栏 1020

量化数据管道实战:从接口调用到生产级落库(第 15 篇):下半场导览与增量水位线设计

daily表建起来了,幂等写入的钥匙(复合主键)也交到了你手上。但真正的生产环境会立刻追问四个问题——数据怎么一直保持最新(增量调度)?不同来源的时间轴怎么对得上(多源对齐)?这套脚本怎么长期跑下去不出事(生产化)?落库还能再快再稳吗(落库进阶)?这就是下半场(第 15–28 篇)要解决的问题。本篇是下半场的主推篇,既是导览也是一篇技术文章给你一张覆盖第 15–28 篇的地图;增量水位线(watermark)设计与幂等写入原则——它决定了"只拉新数、重跑不重"能不能成为整条管道的默认行为;

2601_96840033的博客 2787

【图像与信号处理】基于MFCC与DTW融合的声纹识别算法在移动支付中的优化研究

本研究针对移动支付中声纹识别面临的噪声干扰、设备差异与安全挑战,优化MFCC与DTW融合算法:引入小波降噪与自适应Mel滤波器提升特征鲁棒性,设计轻量化模型适配嵌入式平台;提出加权DTW路径约束、模板自适应更新及两步匹配策略,结合动态门限判决增强防攻击能力。实验表明,算法识别准确率显著提升,响应时间<3秒,具备高噪声鲁棒性、跨设备兼容性与实时性,为移动支付提供了高效安全的声纹认证方案。

汉斯出版社旗下编辑,定期更新计算机前沿论文 167
上一篇: Google 的服务,你用了那些?
下一篇: 微软遭遇XP SP3疯狂重启尴尬境地
普通网友
博客等级 码龄22年 1万+粉丝 3156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值