c语言怎么做弹窗(C语言如何制作窗口抖动)
c语言怎么做弹窗(C语言如何制作窗口抖动)int x y width height;//用来保存窗口横纵坐标和宽度、高度的变量 HWND hwnd = NULL oldhwnd = NULL;//两个窗口句柄int main(int argc char*argv[]){ RECT rect;//RECT是一个矩形结构体,相当于保存了一个矩形的四条边的坐标
很多初学C语言的小伙伴都会感觉迷茫,不知道怎么学,学多久,我的答案就是不断写代码,写多了,棒槌也能开窍,在C语言的学习过程之中,始终不要忘记欲速则不达的道理,书要一页一页一个字一个字的看,习题要踏踏实实的做。下面给大家分享一个案例
想必大家都知道QQ聊天对话框中,有一个抖动个功能,相信大家也都用过,但能否用C语言做出来呢?答案肯定是可以的! 至于如何,今天就为大家分享出来!
来吧,直接上源码
-
#include<stdio.h>
-
#include<windows.h>
-
int main(int argc char*argv[])
-
{
-
RECT rect;//RECT是一个矩形结构体,相当于保存了一个矩形的四条边的坐标
-
HWND hwnd = NULL oldhwnd = NULL;//两个窗口句柄
-
int x y width height;//用来保存窗口横纵坐标和宽度、高度的变量
-
int i;
-
system("title C语言研究中心www.dotcpp.com");
-
for(i=0;i<50;i )
-
{
-
hwnd =GetForegroundWindow();//一个API函数,获取活动窗口的句柄
-
if(hwnd!=oldhwnd)
-
{
-
GetWindowRect(hwnd &rect);//获取指定窗口的位置
-
x = rect.left;
-
y = rect.top;
-
width = rect.right - x;
-
height = rect.bottom - y;
-
oldhwnd = hwnd;//把刚刚获取的窗口句柄保存起来。
-
}
-
MoveWindow(hwnd x-10 y width height TRUE);//向左移动了10像素,下同
-
Sleep(5);//暂停5毫秒
-
MoveWindow(hwnd x-10 y-10 width height TRUE);
-
Sleep(5);
-
MoveWindow(hwnd x y-10 width height TRUE);
-
Sleep(5);
-
MoveWindow(hwnd x y width height TRUE);
-
Sleep(5);
-
}
-
return0;
-
}
大家可以自行理解下代码,不要认为很难,自己给自己设置很多障碍,这个主要就是调用了windows中的几个API,包括获取句柄,移动位置等。那么窗口的抖动其实就是让一个窗口在几个位置停顿一小下然后来回切换,就会形成抖动效果!仅此而已