VC--CAnimateCtrl 動畫控件的學習

動畫控件

  Windows 95支持一種動畫控件(Animate control),動畫控件可以播放AVI格式的動畫片(AVI Clip),動畫片可以來自一個AVI文件,也可以來自資源中。合理地使用動畫控件,可以使程序的界面更加形象生動。

11.5.1 動畫控件的使用

MFC的CAnimateCtrl類封裝了動畫控件,該類的Create成員函數負責創建動畫控件,其聲明爲:

BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );

  參數dwStyle是如表11.3所示的控件風格的組合,參數rect指定了控件的尺寸,pParentWnd指向父窗口,nID是控件的ID。若創建成功則函數返回TRUE。

表11.3 動畫控件的風格

風格

含義

ACS_CENTER

使動畫片居於控件中央,並使動畫片打開後控件窗口的尺寸和位置保持不變。如果不指定該風格,則控件的尺寸會自動調整來適應動畫片的大小。

ACS_TRANSPARENT

使動畫片的背景透明(不輸出動畫片的背景色)。

ACS_AUTOPLAY

一旦打開動畫片後就一直重複播放。

  除表中的風格外,一般還要爲動畫控件指定WS_CHILD、WS_VISIBLE和WS_BORDER窗口風格。例如,要創建一個能自動播放的動畫控件,應該指定其風格爲WS_CHILD|WS_VISIBLE|WS_BORDER|ACS_AUTOPLAY。

  用戶可以向對話框模板中加入動畫控件,在模板編輯器的控件面板上,動畫控件是用一個電影膠片的圖形來表示的。在動畫控件的屬性對話框中可以指定上表列出的風格。只要不指定ACS_CENTER風格,用戶就不必關心動畫控件的尺寸,因爲在打開動畫片時控件的尺寸會被自動調整成動畫片的幅面大小。

CAnimateCtrl類主要的成員函數包括:

BOOL Open( LPCTSTR lpszFileName );
BOOL Open( UINT nID );
Open函數從AVI文件或資源中打開動畫片,如果參數lpszFileName或nID爲NULL,則系統將關閉以前打開的動畫片。若成功則函數返回TRUE。

BOOL Play( UINT nFrom, UINT nTo, UINT nRep );
該函數用來播放動畫片。參數nFrom指定了播放的開始幀的索引,索引值必須小於65536,若爲0則從頭開始播放。nTo指定了結束幀的索引,它的值必須小於65536,若爲-1則表示播放到動畫片的末尾。nRep是播放的重複次數,若爲-1則無限重複播放。若成功則函數返回TRUE。

BOOL Seek( UINT nTo );
該函數用來靜態地顯示動畫片的某一幀。參數nTo是幀的索引,其值必須小於65536,若爲0則顯示第一幀,若爲-1則顯示最後一幀。若成功則函數返回TRUE。

BOOL Stop( );
停止動畫片的播放。若成功則函數返回TRUE。

BOOL Close( );
關閉並從內存中清除動畫片。若成功則函數返回TRUE。

  我自已架設了博客,文章已轉到個人博客,歡迎交流! 

         VC--CAnimateCtrl 動畫控件的學習
                http://www.jeanva.cn/post/44.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章