動畫控件
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