Sdílet prostřednictvím


O ovládacích prvcích animace

ovládací prvek animace je okno, které zobrazuje prokládaný klip (AVI) Audio-Video. Avi klip je série rastrových snímků jako film. Ovládací prvky animace můžou zobrazovat jenom klipy AVI, které neobsahují zvuk.

Jedním z běžných použití ovládacího prvku animace je označení systémové aktivity během zdlouhavé operace. Je to možné, protože vlákno operace pokračuje ve vykonávání, zatímco je zobrazen klip AVI. Například dialogové okno Najít v Průzkumníku Windows zobrazuje pohybující se lupu, když systém hledá soubor.

Poznámka

Pokud používáte ComCtl32.dll verze 6, vlákno není podporováno; ujistěte se, že vaše aplikace neblokuje uživatelské rozhraní, jinak se animace nezobrazí.

 

Ovládací prvek animace může zobrazit klip AVI pocházející z nekomprimovaného souboru AVI nebo z komprimovaného souboru AVI komprimovaného pomocí kódování run-length (BI_RLE8). Klip AVI můžete přidat do své aplikace jako prostředek AVI, nebo klip může doprovázet vaši aplikaci jako samostatný soubor AVI.

Poznámka

Soubor AVI nebo prostředek nesmí mít zvukový kanál. Možnosti ovládacího prvku animace jsou velmi omezené a můžou se měnit. Pokud potřebujete ovládací prvek pro poskytování možností přehrávání a nahrávání multimédií pro vaši aplikaci, můžete použít ovládací prvek MCIWnd. Další informace naleznete v tématu MCIWnd Window Class.

 

Tato část popisuje následující témata.

Vytvoření ovládacího prvku animace

Ovládací prvek animace patří do třídy okna ANIMATE_CLASS. Ovládací prvek animace vytvoříte pomocí funkce CreateWindow nebo CreateWindowEx nebo makra Animate_Create. Makro umístí ovládací prvek animace do levého horního rohu nadřazeného okna a pokud není zadaný styl ACS_CENTER, nastaví šířku a výšku ovládacího prvku na základě rozměrů rámečku v klipu AVI. Pokud je zadán ACS_CENTER, Animate_Create nastaví šířku a výšku ovládacího prvku na nulu. K nastavení pozice a velikosti ovládacího prvku můžete použít funkci SetWindowPos.

Pokud vytvoříte ovládací prvek animace v rámci dialogového okna nebo z prostředku dialogového okna, ovládací prvek se automaticky zničí, když uživatel dialogové okno zavře. Pokud v okně vytvoříte animační ovládací prvek, musíte ho explicitně zničit.

O zprávách ovládacích prvků animace

Aplikace odesílá zprávy do ovládacího prvku animace, který otevře, přehraje, zastaví a zavře odpovídající klip AVI. Každá zpráva obsahuje jedno nebo více maker, která můžete použít namísto toho, abyste zprávu explicitně odesílali.

Po vytvoření ovládacího prvku animace odešle aplikace zprávu ACM_OPEN k otevření klipu AVI a načtení do paměti. Zpráva určuje cestu k souboru AVI nebo název prostředku AVI. Systém načte prostředek AVI z modulu, který vytvořil ovládací prvek animace.

Pokud má ovládací prvek animace ACS_AUTOPLAY styl, ovládací prvek začne přehrávat klip AVI hned po otevření souboru AVI nebo prostředku AVI. V opačném případě může aplikace použít zprávu ACM_PLAY ke spuštění klipu AVI. Aplikace může klip kdykoli zastavit odesláním ACM_STOP zprávy. Poslední přehrávané snímky zůstanou zobrazeny, když ovládací prvek dokončí přehrávání klipu AVI nebo při odeslání ACM_STOP.

Ovládací prvek animace může posílat do nadřazeného okna dva kódy oznámení: ACN_START a ACN_STOP. Většina aplikací nezpracuje ani oznámení.

Pokud chcete zavřít soubor AVI nebo prostředek AVI a odebrat ho z paměti, může aplikace použít makro Animate_Close, které odesílá ACM_OPEN s názvem souboru nebo názvem prostředku nastaveným na NULL.

Výchozí zpracování zpráv

Tato část popisuje zprávy okna, které jsou zpracovávány oknovou procedurou třídy okna ANIMATE_CLASS.

Zpráva Provedené zpracování
WM_CLOSE Uvolní soubor AVI nebo prostředek AVI přidružený k ovládacímu prvku animace.
WM_DESTROY Uvolní soubor AVI nebo prostředek AVI, uvolní interní datovou strukturu a potom zavolá funkci DefWindowProc.
WM_ERASEBKGND Vymaže pozadí okna s využitím aktuální barvy pozadí pro statické ovládací prvky.
WM_NCCREATE Přidělí a inicializuje interní datovou strukturu a potom volá DefWindowProc.
WM_NCHITTEST Vrátí hodnotu testu detekce zásahu HTTRANSPARENT.
WM_PAINT Nakreslí rámeček AVI v ovládacím prvku animace.
WM_SIZE Zkontroluje, jestli má ovládací prvek styl ACS_CENTER. Pokud ovládací prvek nefunguje, volá DefWindowProc. Jinak umístí animaci do středu ovládacího prvku, označí ovládací prvek jako neplatný a potom volá DefWindowProc.