
Os comandos e funções a seguir servem para apresentar e controlar animações dentro e fora das Janelas de Diálogo de um aplicativo OpusWin.
O comando PlaySound serve para executar um arquivo de som, do tipo .WAV.
Sintaxe
PlaySound (<varc>)
Onde:
<varc>
Especifica o nome do arquivo que contém o som.
Exemplo
PlaySound ("hello.wav")
O comando Animation serve para apresentar animações, executando arquivos do tipo .AVI. Este comando é implementado como um controle dentro de uma Caixa de diálogo, onde o início e término de uma animação são controlados através do comando InitControl, geralmente codificado numa função que foi acionada através da cláusula valid. Veja exemplo a seguir.
Sintaxe
Animation {NULL | <caption>} <varc2> <xi>,<yi>,<xl>,<yl>
InitControl (<ncontrol>, <times>)
Onde:
{NULL | <caption>}
O conteúdo em <caption> (ou literal) é utilizado como título ("caption") do controle Animation.
<varc2>
Especifica o nome do arquivo .AVI que contém a animação a ser apresentada.
<xi>,<yi>,<xl>,<yl>
Informa as coordenadas para posicionar e dimensionar a animação a ser apresentada.
<ncontrol>
Especifica o número de controle Animation dentro da Caixa de diálogo.
<times>
Informa o número de vezes a ser executada a animação. O algarismo 0 (zero) indica o término da animação e o símbolo –1 (número um negativo) indica um "loop" infinito da animação, até ser acionado algum evento que finalize, como podemos ver no exemplo a seguir.
Exemplo
$nolibprogbut1=1varc="fogos.avi"func p1(l)Dialog 2,2,24,16 caption "OpusWin Animation" style WS_POPUP WS_CAPTION WS_SYSMENU
Animation NULL varc 0, 0, 24, 12
DEFPUSHBUTTON "Start" but1 3, 13, 8, 02 valid p1(but1)
PUSHBUTTON "Stop" NULL 13, 13, 8, 02 valid p1(but1)
EndDialog
end
func p1
parameters bt(n)
if bt=1
InitControl (1, -1)
else
InitControl (1, 0)
quit
endif
return .t.
Observação
O exemplo acima produz a seguinte imagem animada:

O comando AniCreate cria uma janela de animação com o nome <nome> nas coordenadas especificadas, conforme a seguinte sintaxe:
AniCreate <nome> <xi> <yi> <xl> <yl> [CHARS] <arquivo>
Se for especificado CHARS, as coordenadas são em unidades de caracteres. O arquivo <arquivo> (do tipo .avi) será exibido na janela de animação.
O comando AniMessage envia uma mensagem <mess> para a janela de animação <nome> conforme a seguinte sintaxe:
AniMessage <nome> <mess>
O parâmetro <mess> pode ser:
PLAY para iniciar a apresentação da animação
STOP para terminar a apresentação da animação
DESTROY para remover o controle de animação
AniCreate um 10,20,20,10 "search.avi"
AniMessage um "PLAY"
AniMessage um "STOP"
AniMessage um "DESTROY"
