QQ中抖动窗口的vc++实现方法

来源:互联网 发布:unity3d特效包下载 编辑:程序博客网 时间:2024/05/16 17:56
其实,QQ中抖动窗口的实现很简单,当用户按下抖动按钮的时候,播放一个WAV文件和按一定的顺序移动窗口就完了。。下面让我们来看一下具体的实现方法:


创建对话框应用程序,向对话框中添加一个按钮。将按钮Caption改为:抖动窗口;然后双击按钮,为按钮添加BN_CLICK消息,在消息函数中我们会用到PlaySound这个SDK函数,用来播放WAV文件,也就是播放一段声音,该函数的第一个参数为pszSound,表示文件的名称,当然你要把你的WAV文件添加到该工程的目录下,不然系统会找不到文件,当这个参数设置为NULL时,停止播放,该函数只能播放较小的WAV文件,对于这个函数的具体用法大家可以参考MSDN,
使用PlaySound函数时需要#include<windows.h>后面加上(注意:不能加在前面):
  #include <mmsystem.h>
  #pragma comment(lib, "WINMM.LIB") 


具体做法如下:
void CTestDlg::OnButton1() {// TODO: Add your control notification handler code hereCRect rect;GetWindowRect(&rect);int m_move=10;PlaySound( "shake.wav", NULL, SND_FILENAME | SND_ASYNC );//为了使窗口抖动后能回到原来的位置,这里设置i必须为5的倍数并且i<5*n+1;for( int i=1; i < 11; i++ ){rect.OffsetRect(0,m_move);//OffsetRect函数将指定的矩形移动到指定的位置,这里是将矩形向上移动10像素MoveWindow(&rect);Sleep(40);rect.OffsetRect(m_move,0);MoveWindow(&rect);Sleep(40);if (10==m_move){m_move=-10;}else{m_move=10;}}}



0 0
原创粉丝点击