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 Vista용 Windows 7, Windows Vista 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | 지원되는 버전 없음 |
대상 플랫폼 | Windows |
헤더 | uianimation.h |
DLL | UIAnimation.dll |
추가 정보
IUIAnimationStoryboard::Abandon
IUIAnimationStoryboard::Conclude
IUIAnimationStoryboard::Finish
IUIAnimationStoryboard::GetStatus