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

其实,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 here
	CRect 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;
		}

	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值