最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言仿QQ聊天界面抖動功能

 更新時(shí)間:2019年11月18日 10:52:13   作者:C語言學(xué)習(xí)之家  
這篇文章主要為大家詳細(xì)介紹了C語言仿QQ聊天界面抖動功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語言 QQ聊天界面抖動的具體代碼,供大家參考,具體內(nèi)容如下

圖片中的窗口抖動功能大家應(yīng)該都用過,今天給大家?guī)淼木褪怯肅來實(shí)現(xiàn)類似QQ窗口抖動的小練習(xí),其實(shí)窗口的抖動的原理就是讓它在不同的幾個(gè)位置停頓一小下然后再來回移動,我們先來看代碼,稍后再進(jìn)行解釋。

#include <stdio.h>
#include<Windows.h>
 
int main(void)
 
{
 
int time = 60; //休眠的時(shí)間,為60毫秒 
int distance = 10; //移動了10像素 
RECT rect; //RECT是一個(gè)矩形結(jié)構(gòu)體,相當(dāng)于保存了一個(gè)矩形的四條邊的坐標(biāo)
HWND window = NULL, oldwindow = NULL; //兩個(gè)窗口句柄
int x, y, width, height; //用來保存窗口橫縱坐標(biāo)和寬度、高度的變量 
int i;
//抖50次吧
for (i = 0; i < 10; i++) {
window = GetForegroundWindow(); //拿到活動窗口 
if (window != oldwindow) {
//獲取指定窗口的位置
 
GetWindowRect(window, &rect); 
x = rect.left; 
y = rect.top;
width = rect.right - x; 
height = rect.bottom - y;
oldwindow = window;
 
}
 
MoveWindow(window, x - distance, y, width, height, TRUE); //移動窗口,向左移動了10像素,下同 Sleep(time); //休眠time毫秒,線程休眠
MoveWindow(window, x - distance, y -distance, width, height, TRUE);
Sleep(time);
MoveWindow(window, x, y - distance, width, height, TRUE); 
Sleep(time);
MoveWindow(window, x, y, width, height, TRUE);
Sleep(time);
 
}
 
return 0;
 
}

原理上面講了,無非就兩點(diǎn):停頓和移動,那我們來講一下二者的具體實(shí)現(xiàn),關(guān)于停頓我們用到了sleep函數(shù),這里有一點(diǎn)簡單提一下,sleep函數(shù)在windows和linux中是不一樣的,除了頭文件以外,windows中單位為毫秒且S要大寫,而linux中為秒,我們這里默認(rèn)的是windows中,就相當(dāng)于調(diào)用了windows API函數(shù),這就形成了停頓的效果!而窗口的移動同樣還是調(diào)用windows中的API,包括獲取句柄,移動位置等。總體來說抖動功能的實(shí)現(xiàn)思路是比較簡單的。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用C語言實(shí)現(xiàn)一個(gè)最簡單的飛機(jī)游戲

    利用C語言實(shí)現(xiàn)一個(gè)最簡單的飛機(jī)游戲

    在前面彈跳小球?的基礎(chǔ)上實(shí)現(xiàn)一個(gè)簡單的飛機(jī)游戲,主要包括飛機(jī)的顯示、控制移動、顯示復(fù)雜圖案、發(fā)射激光、打靶練習(xí)等功能,感興趣的可以嘗試一下
    2022-10-10
  • C/C++調(diào)用Fortran的DLL的操作過程

    C/C++調(diào)用Fortran的DLL的操作過程

    這篇文章主要介紹了C/C++調(diào)用Fortran的DLL,本文以一個(gè)簡單的加法器為例,通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • C語言實(shí)現(xiàn)刮刮樂效果是示例代碼

    C語言實(shí)現(xiàn)刮刮樂效果是示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何C語言模擬實(shí)現(xiàn)刮刮樂的效果,只要按下鼠標(biāo)左鍵并移動就可以刮開刮卡層,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • C++標(biāo)準(zhǔn)之(ravalue reference) 右值引用介紹

    C++標(biāo)準(zhǔn)之(ravalue reference) 右值引用介紹

    臨時(shí)對象的產(chǎn)生和拷貝所帶來的效率折損,一直是C++所為人詬病的問題,下面簡單地介紹一下Copy Elision、RVO,對此不感興趣的可以直接跳過
    2012-11-11
  • 詳解C++設(shè)計(jì)模式編程中策略模式的優(yōu)缺點(diǎn)及實(shí)現(xiàn)

    詳解C++設(shè)計(jì)模式編程中策略模式的優(yōu)缺點(diǎn)及實(shí)現(xiàn)

    這篇文章主要介紹了C++設(shè)計(jì)模式編程中策略模式的優(yōu)缺點(diǎn)及實(shí)現(xiàn),文中討論了策略模式中設(shè)計(jì)抽象接口的繼承和組合之間的區(qū)別,需要的朋友可以參考下
    2016-03-03
  • C語言 TerminateProcess函數(shù)案例詳解

    C語言 TerminateProcess函數(shù)案例詳解

    這篇文章主要介紹了C語言 TerminateProcess函數(shù)案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 詳解DAG上的DP

    詳解DAG上的DP

    DAG:有向無環(huán)圖。DAG是學(xué)習(xí)動態(tài)規(guī)劃的基礎(chǔ),很多問題都可以直接轉(zhuǎn)化為DAG上的最長路、最短路或路徑計(jì)數(shù)問題。本文將詳細(xì)介紹DAG上的DP。
    2021-05-05
  • C++設(shè)計(jì)模式編程中的迭代器模式應(yīng)用解析

    C++設(shè)計(jì)模式編程中的迭代器模式應(yīng)用解析

    這篇文章主要介紹了C++設(shè)計(jì)模式編程中的迭代器模式應(yīng)用解析,迭代器模式注重對集合中元素的遍歷而不使其暴露,需要的朋友可以參考下
    2016-03-03
  • C++中的運(yùn)算符和運(yùn)算符優(yōu)先級總結(jié)

    C++中的運(yùn)算符和運(yùn)算符優(yōu)先級總結(jié)

    這篇文章主要介紹了C++中的運(yùn)算符和運(yùn)算符優(yōu)先級總結(jié),主要整理了算術(shù)、關(guān)系、邏輯、位和賦值運(yùn)算符的用法,需要的朋友可以參考下
    2016-05-05
  • C++智能指針shared_ptr與weak_ptr的實(shí)現(xiàn)分析

    C++智能指針shared_ptr與weak_ptr的實(shí)現(xiàn)分析

    shared_ptr是一個(gè)標(biāo)準(zhǔn)的共享所有權(quán)的智能指針,允許多個(gè)指針指向同一個(gè)對象,定義在 memory 文件中,命名空間為 std,這篇文章主要介紹了C++ 中 shared_ptr weak_ptr,需要的朋友可以參考下
    2022-09-09

最新評論

镇安县| 当阳市| 舒城县| 古蔺县| 阿荣旗| 资阳市| 清水河县| 裕民县| 鸡东县| 宜川县| 江孜县| 镇原县| 神农架林区| 独山县| 韶山市| 蛟河市| 京山县| 德江县| 格尔木市| 文成县| 安远县| 清河县| 扶风县| 华池县| 柳江县| 广丰县| 塘沽区| 基隆市| 长岛县| 米泉市| 临漳县| 龙泉市| 呼和浩特市| 安国市| 昌江| 新巴尔虎右旗| 嘉峪关市| 沅陵县| 逊克县| 黔西县| 江都市|