文檔首頁(yè)>>BCGControlBar 中文文檔>>CBCGPAnimationManager
CBCGPAnimationManager
詳細(xì)描述
CBCGPAnimationManager包裝了Windows IUIAnimationManager接口的功能。
使用這個(gè)類,開(kāi)發(fā)人員可以在幾行代碼中添加動(dòng)畫(huà)支持:
只需從CBCGPAnimationManager中派生任何類,調(diào)用StartAnimation()并重寫(xiě)OnAnimationValueChanged()虛擬方法。
支持以下動(dòng)畫(huà)類型:
- Legacy:基于計(jì)時(shí)器的動(dòng)畫(huà),如果應(yīng)用程序在不支持動(dòng)畫(huà)管理器的操作系統(tǒng)下啟動(dòng)(例如Windows XP或Windows Vista沒(méi)有SP1), CBCGPAnimationManager將自動(dòng)使用此動(dòng)畫(huà)類型。
- 加速/減速
- 立方
- 線性
- 平穩(wěn)停止
- 加速度拋物線
動(dòng)畫(huà)支持被添加到以下產(chǎn)品組件中:
- 圖表控制(系列外觀)。
- 量規(guī)(指針平穩(wěn)移動(dòng))。
- 頁(yè)面轉(zhuǎn)換管理器(在屬性表和Ribbon后臺(tái)視圖中使用)。
- WinUI Tiles (tile內(nèi)容改變效果)。
- 任務(wù)窗格和工具箱(頁(yè)面更改效果)。
AnimationManagerDemo示例展示了如何將動(dòng)畫(huà)支持添加到您自己的類中。
示例:
class CMyClass : public CObject public CBCGPAnimationManager { virtual void OnAnimationValueChanged(double dblOldValue, double dblNewValue) { TRACE(_T("The current animation value is: %f\n"), dblNewValue); } virtual void OnAnimationFinished() { TRACE(_T("The animation is finished.\n")); } }; CMyClass myObject; // Start animation. The values range is: 0 - 100, duration 2 seconds, // animation type is "Accelerate / Decelerate": myObject.StartAnimation(0, 100, 2, CBCGPAnimationManager::BCGPANIMATION_AccelerateDecelerate);
點(diǎn)擊復(fù)制
CBCGPAnimationManager的圖:
公共類型
enum BCGPAnimationType
公共成員功能
- CBCGPAnimationManager——默認(rèn)構(gòu)造函數(shù)。
- GetAnimatedValue——獲取當(dāng)前動(dòng)畫(huà)值。
- GetAnimationDuration——獲取動(dòng)畫(huà)持續(xù)時(shí)間。
- GetLastAnimationError——獲取最近調(diào)用Windows動(dòng)畫(huà)API返回的動(dòng)畫(huà)錯(cuò)誤。
- IsAnimated——檢查動(dòng)畫(huà)是否正在運(yùn)行。
- StartAnimation——開(kāi)始動(dòng)畫(huà)。
- StartFlashAnimation——啟動(dòng)“flash”動(dòng)畫(huà)。
- StopAnimation——停止動(dòng)畫(huà)。
靜態(tài)公共成員功能
- IsAnimationSupportedByOS——檢查操作系統(tǒng)是否支持動(dòng)畫(huà)。
受保護(hù)成員功能
- OnAnimationFinished——當(dāng)動(dòng)畫(huà)完成時(shí)由框架調(diào)用。
- OnAnimationIdle——當(dāng)動(dòng)畫(huà)閑置時(shí)由框架調(diào)用。
- OnAnimationValueChanged ——當(dāng)動(dòng)畫(huà)值改變時(shí)由框架調(diào)用。