MessageBox istnieje w praktycznie każdej implementacji wrapera API. CAnkietaDlg to tylko nazwa klasy - nie da się na tej podstawie określić używanej biblioteki. Nie zarzuciłem Ci niewiedzę, tylko sparafrazowałem Twoją wypowiedź. Jeśli sam jesteś buńczuczny, nie oczekuj głaskania. Składało mi się to w MFC tak samo jak w wxWindows i pewnie kilkanaście innych bibliotek, których nigdy nie uzywałem, dlatego zadałem proste pytanie. Pytanie, które zresztą nie miałoby miejsca gdyby Sylwan przeczytał przyklejony temat. I nie wiem czy mu się uda czy nie - nie leży to w moich rękach. Póki co kilkadziesiąt odpowiedzi, które na forum udzieliłem działały, bo jestem “taki uczynny”. Tak jak i kilka innych osób na forum (wiecie kim jesteście ).
Sylwan: do definicji okna dialogowego dodaj:
class CAnkietaDlg : public CDialog
{
...
private:
CAnimateCtrl *Player;
};
W konstruktorze (CAnkietaDlg::CAnkietaDlg) okna dialogowego pod //}}AFX_DATA_INIT dodaj:
Animacja = new CAnimateCtrl;
W destruktorze (CAnkietaDlg::~CAnkietaDlg) dodaj:
Animacja->Stop();
Animacja->Close();
delete Animacja;
Zdefiniuj rozmiar pola animacji i załaduj plik w OnInitDialog:
BOOL CControlsDlg::OnInitDialog()
{
RECT Obszar = { 5, 5, 360, 360 };
Animacja->Create(WS_CHILD | WS_VISIBLE | ACS_TRANSPARENT | ACS_AUTOPLAY, Obszar, this, 0x1884);
Animacja->Open("plik.avi");
return TRUE;
}
Aby odtworzyć animację użyj:
Animacja->Play(0, -1, -1);
Możesz też użyć edytora zasobów (CAnimateCtrl ma ikonę taśmy filmowej) ale osobiście preferuję w MFC tworzenie kontrolek przy pomocy kodu.