使用AnimateWindow來實現視窗淡入淡出(主要有四種動畫,滾動,滑動,摺疊或展開,和淡入淡出)

來源:互聯網
上載者:User

標籤:注意   gic   bool   log   windows   方向   擴充   原型   多個   

如果是在VC6下進行編譯,應引入下面的先行編譯宏,注意放在windows.h的前面
#undef  WINVER   
#define  WINVER   0x500
為什麼要引入上面的宏呢?看看winuser.h裡面該API的聲明就明白了:
#if(WINVER >= 0x0500)
WINUSERAPI
BOOL
WINAPI
AnimateWindow(
    HWND hWnd,
    DWORD dwTime,
    DWORD dwFlags);
#endif /* WINVER >= 0x0500 */
如果你不進行這個宏的從定義,該API就被排除了,編譯會有error。

Declared in Winuser.h, include Windows.h

函數原型:
BOOL AnimateWindow(
    HWND hwnd,
    DWORD dwTime,
    DWORD dwFlags);   
   
函數功能:
該函數能在顯示與隱藏視窗時產生特殊類型的動畫效果,主要有四種動畫,滾動,滑動,摺疊或展開,和淡入淡出。

參數含義:
hwnd: 指定產生動畫的視窗的控制代碼。
dwTime:指明動畫持續的時間(以微秒計),完成一個動畫的標準時間為200微秒。
dwFags:指定動畫類型,這個參數可以是一個或多個下列標誌的組合。標誌描述:    
    AW_SLIDE:  使用滑動類型,預設則為滾動動畫類型,當使用AW_CENTER標誌時,這個標誌就被忽略。    
    AW_ACTIVATE: 啟用視窗,不要和AW_HIDE標誌一起使用。    
    AW_BLEND:  實現淡出效果。只有當hWnd為頂層視窗的時候才可以使用此標誌。    
    AW_HIDE:  隱藏視窗,預設則顯示視窗。    
    AW_CENTER:  若使用了AW_HIDE標誌,則使視窗向內重疊,即收縮視窗;若未使用AW_HIDE標誌,則使視窗向外擴充,即展開視窗。    
    AW_HOR_POSITIVE: 自左向右顯示視窗。該標誌可以在滾動動畫和滑動動畫中使用。當使用AW_CENTER或者AW_BLEND標誌時,該標誌將被忽略。    
    AW_VER_POSITIVE: 自頂向下顯示視窗。該標誌可以在滾動動畫和滑動動畫中使用。當使用AW_CENTER或者AW_BLEND標誌時,該標誌將被忽略。    
    AW_VER_NEGATIVE: 自下向上顯示視窗。該標誌可以在滾動動畫和滑動動畫中使用。當使用AW_CENTER或者AW_BLEND標誌時,該標誌將被忽略。   

傳回值:
如果函數成功,傳回值為非零;如果函數失敗,傳回值為零。在下列情況下函數將失敗:
1、如果視窗使用視窗地區,但是XP下不會失敗;
2、視窗已經顯示了,你還想通過這個API來顯示視窗;
3、視窗已經消失了,你試圖通過這個API來隱藏視窗;
4、沒有為滾動或者滑動指定方向;
5、對一個子視窗使用AW_BLEND;
6、調用這個API的線程並不擁有hwnd指定的視窗;

函數資訊:
最小DLL版本: user32.dll 
標頭檔: Declared in Winuser.h, include Windows.h 
引入的庫: User32.lib 
最小作業系統: Windows 98, Windows 2000

注意:使用AnimateWindow來進行淡出時,此時視窗收不到滑鼠訊息了,如果你有需求:在視窗淡出即將消失時,如果滑鼠移上去,視窗恢複正常顯示,並且不消失。使用AnimateWindow是沒辦法實現的,那是否有其它的方法呢?下次再談,o(∩_∩)o...。

[END]

 

http://blog.csdn.net/magictong/article/details/4074394

使用AnimateWindow來實現視窗淡入淡出(主要有四種動畫,滾動,滑動,摺疊或展開,和淡入淡出)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.