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 以外的任何状态时,尝试计划情节提要失败,并且 schedulingResult 设置为 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 7、Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | 无受支持的版本 |
目标平台 | Windows |
标头 | uianimation.h |
DLL | UIAnimation.dll |
另请参阅
IUIAnimationStoryboard::Abandon
IUIAnimationStoryboard::Conclude
IUIAnimationStoryboard::Finish
IUIAnimationStoryboard::GetStatus