IUIAnimationStoryboard::Schedule 方法 (uianimation.h)
指示腳本自行排程播放。
語法
HRESULT Schedule(
[in] UI_ANIMATION_SECONDS timeNow,
[out, optional] UI_ANIMATION_SCHEDULING_RESULT *schedulingResult
);
參數
[in] timeNow
目前的時間。
[out, optional] schedulingResult
排程要求的結果。 這個參數可以從呼叫這個方法中省略。
傳回值
如果方法成功,它會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。 如需錯誤碼的清單,請參閱 Windows 動畫錯誤碼 。
備註
這個方法會指示分鏡腳本嘗試將本身新增至播放分鏡腳本的排程。 規則如下︰
- 如果沒有播放腳本以動畫顯示任何相同動畫變數,則嘗試成功,腳本會立即開始播放。
- 如果分鏡腳本優先取消、修剪、結束或壓縮衝突的分鏡腳本,則嘗試排程成功,腳本會儘快開始播放。
- 如果分鏡腳本沒有優先順序,則嘗試會失敗,且 schedulingResult 參數會設定為 UI_ANIMATION_SCHEDULING_INSUFFICIENT_PRIORITY。
在狀態達到UI_ANIMATION_STORYBOARD_READY之後,可以再次呼叫 Schedule 來重複使用分鏡腳本。 當分鏡腳本處於 UI_ANIMATION_STORYBOARD_BUILDING 或 UI_ANIMATION_STORYBOARD_READY 失敗以外的任何狀態時,嘗試排程分鏡腳本,並將 scheduleResult 設定為 UI_ANIMATION_SCHEDULING_ALREADY_SCHEDULED。
範例
下列範例會取得目前的時間,並排程分鏡腳本。 如需其他範例,請參閱 排程分鏡腳本。
// Get the current time and schedule the storyboard
UI_ANIMATION_SECONDS secondsNow;
hr = m_pAnimationTimer->GetTime(
&secondsNow
);
if (SUCCEEDED(hr))
{
UI_ANIMATION_SCHEDULING_RESULT schedulingResult;
hr = pStoryboard->Schedule(
secondsNow,
&schedulingResult
);
if (SUCCEEDED(hr))
{
if (schedulingResult == UI_ANIMATION_SCHEDULING_SUCCEEDED)
{
...
}
else
{
...
}
}
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 的 Windows 7、Windows Vista 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | 都不支援 |
目標平台 | Windows |
標頭 | uianimation.h |
Dll | UIAnimation.dll |
另請參閱
IUIAnimationStoryboard::Abandon
IUIAnimationStoryboard::Conclude
IUIAnimationStoryboard::Finish
IUIAnimationStoryboard::GetStatus