共用方式為


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
如果此方法是從 OnStoryboardStatusChanged 事件的處理程式呼叫, 則 schedulingResult 參數會設定為 UI_ANIMATION_SCHEDULING_DEFERRED。 判斷腳本是否成功排程的唯一方法是設定分鏡腳本事件處理程式,並檢查分鏡腳本的狀態是否變成 UI_ANIMATION_STORYBOARD_INSUFFICIENT_PRIORITY

在狀態達到UI_ANIMATION_STORYBOARD_READY之後,可以再次呼叫 Schedule 來重複使用分鏡腳本。 當分鏡腳本處於 UI_ANIMATION_STORYBOARD_BUILDINGUI_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

IUIAnimationStoryboard::Abandon

IUIAnimationStoryboard::Conclude

IUIAnimationStoryboard::Finish

IUIAnimationStoryboard::GetStatus

IUIAnimationTimer::GetTime

UI_ANIMATION_SCHEDULING_RESULT

UI_ANIMATION_STORYBOARD_STATUS