Animation控制項

Animation控制項允許你創建顯示動畫的按鈕,如點擊一個按鈕播放一個.avi檔案。該控制項只能播放沒有聲音的.avi檔案,並且Animation控制項只能播放解壓縮的或使用RLE(行程長度編碼,Run-Length Encoding)壓縮的.avi檔案。

基本介紹

  • 中文名:Animation控制項
  • 作用:允許你創建顯示動畫的按鈕
  • 格式:壓縮的.avi檔案
  • 屬性:AutoPlay屬性
說明,屬性,方法,事件,例子,

說明

如果試圖載入包含聲音的.avi檔案或該控制項不支持的格式,將返回一個錯誤(錯誤碼35752)。該控制項的一個例子是Windows 95中的檔案拷貝過程。該過程在拷貝時使用了一個Animation控制項,顯示了一個檔案從一個資料夾飛入另一個資料夾。

屬性

AutoPlay屬性,BackStyle屬性(Animation控制項),Center屬性,Height,Width屬性,TableIndex屬性,DragIcon屬性,DragMode屬性,hWnd屬性,TabStop屬性,HelpContextID屬性,Name屬性,Parent屬性,Container屬性,ToolTipText屬性,WhatsThisHelpID屬性,OLEDropMode屬性(ActiveX控制項),Height,Width屬性(ActiveX控制項),Index屬性(ActiveX控制項),Left,Top屬性(ActiveX控制項),Tag屬性(ActiveX控制項),Visible屬性(ActiveX控制項),Object屬性(ActiveX控制項),BackColor,ForeColor屬性(ActiveX控制項),Enabled屬性(ActiveX控制項),hWnd屬性(ActiveX控制項)。

方法

Close方法(Animation控制項),Open方法(Animation控制項),Play方法,Stop方法(Animation控制項),SetFocus方法,Drag方法,Move方法,ZOrder方法,ShowWhatsThis方法,OLEDrag方法(ActiveX控制項)。

事件

DragDrop事件,DragOver事件,GotFocus事件,LostFocus事件,MouseDown事件,MouseUp事件,MouseMove事件,Validate事件,OLECompleteDrag事件(ActiveX控制項),OLEDragDrop事件(ActiveX控制項),OLEDragOver事件(ActiveX控制項),OLEGiveFeedBack事件(ActiveX控制項),OLESetData事件(ActiveX控制項),OLEStartDrag事件(ActiveX控制項),Click事件(ActiveX控制項),DblClick事件(ActiveX控制項)。

例子

#define WM_STOPCLIP WM_USER+1
#define WM_PLAYCLIP WM_USER+2
#define WM_SHOWFIRSTFRAME WM_USER+3
#define WM_SHOWLASTFRAME WM_USER+4
UINT MyClipThreadProc( LPVOID pParam )
{
// NOTE: pParentWnd is the parent window of the animation control.
CWnd* pParentWnd = (CWnd*) pParam;
CAnimateCtrl cAnimCtrl;
// Create the animation control.
if (!cAnimCtrl.Create(WS_CHILD|WS_VISIBLE|ACS_CENTER,
CRect(10,10,100,100), pParentWnd, 1))
return false;
// Open the AVI file.
if (!cAnimCtrl.Open(_T("myavi.avi")))
return false;
// Pump message from the queue until the stop play message is received.
MSG msg;
while (GetMessage(&msg, NULL, 0, 0) && (msg.message != WM_STOPCLIP))
{
switch (msg.message)
{
// Start playing from the first frame to the last,
// continuously repeating.
case WM_PLAYCLIP:
if (!cAnimCtrl.Play(0, -1, -1))
return false;
break;
// Show the first frame.
case WM_SHOWFIRSTFRAME:
if (!cAnimCtrl.Seek(0))
return false;
cAnimCtrl.RedrawWindow();
break;
// Show the last frame.
case WM_SHOWLASTFRAME:
if (!cAnimCtrl.Seek(-1))
return false;
cAnimCtrl.RedrawWindow();
break;
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}
cAnimCtrl.Stop();
cAnimCtrl.Close();
return true;
}
摘自MSDN

相關詞條

熱門詞條

聯絡我們