Compartilhar via


Método IUIAnimationStoryboard::Schedule (uianimation.h)

Direciona o storyboard para se agendar para jogar.

Sintaxe

HRESULT Schedule(
  [in]            UI_ANIMATION_SECONDS           timeNow,
  [out, optional] UI_ANIMATION_SCHEDULING_RESULT *schedulingResult
);

Parâmetros

[in] timeNow

A hora atual.

[out, optional] schedulingResult

O resultado da solicitação de agendamento. Esse parâmetro pode ser omitido de chamadas para esse método.

Retornar valor

Se o método for bem-sucedido, retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT. Consulte Códigos de erro de animação do Windows para obter uma lista de códigos de erro.

Comentários

Esse método direciona um storyboard para tentar se adicionar à agenda de reprodução de storyboards. As regras são as seguintes:

  • Se não houver storyboards de reprodução animando nenhuma das mesmas variáveis de animação, a tentativa será bem-sucedida e o storyboard começará a ser reproduzido imediatamente.
  • Se o storyboard tiver prioridade para cancelar, cortar, concluir ou compactar storyboards conflitantes, a tentativa de agendar terá êxito e o storyboard começará a ser reproduzido assim que possível.
  • Se o storyboard não tiver prioridade, a tentativa falhará e o parâmetro schedulingResult será definido como UI_ANIMATION_SCHEDULING_INSUFFICIENT_PRIORITY.
Se esse método for chamado de um manipulador para eventos OnStoryboardStatusChanged , o parâmetro schedulingResult será definido como UI_ANIMATION_SCHEDULING_DEFERRED. A única maneira de determinar se o storyboard é agendado com êxito é definir um manipulador de eventos de storyboard e marcar se o status do storyboard se torna UI_ANIMATION_STORYBOARD_INSUFFICIENT_PRIORITY.

É possível reutilizar um storyboard chamando Agendar novamente depois que seu status chegar UI_ANIMATION_STORYBOARD_READY. Uma tentativa de agendar um storyboard quando ele estiver em qualquer estado diferente de UI_ANIMATION_STORYBOARD_BUILDING ou UI_ANIMATION_STORYBOARD_READY falhar e schedulingResult for definido como UI_ANIMATION_SCHEDULING_ALREADY_SCHEDULED.

Exemplos

O exemplo a seguir obtém a hora atual e agenda o storyboard. Para obter um exemplo adicional, consulte Agendar um storyboard.

// 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
        {
            ...
        }
    }
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista e Platform Update para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho uianimation.h
DLL UIAnimation.dll

Confira também

IUIAnimationStoryboard

IUIAnimationStoryboard::Abandon

IUIAnimationStoryboard::Conclude

IUIAnimationStoryboard::Finish

IUIAnimationStoryboard::GetStatus

IUIAnimationTimer::GetTime

UI_ANIMATION_SCHEDULING_RESULT

UI_ANIMATION_STORYBOARD_STATUS