C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
TAnimate, Как установить avi'шку на нужный кадр?
** Harold
Отправлено: 18.02.2005, 03:26


Не зарегистрирован







Имеем Edit1, в котором изменяем желаемый для просмотра в данный момент времени номер кадра avi'шки. Наивно предполагаем, что у TAnimate есть функция, которая поможет установить avi'шку на нужный для просмотра кадр. Ничего более привлекательного, чем Animate->Seek(frame) и Animate->StartFrame не находим. Но работает все как-то криво... то не с первого кадра, то Seek(1) дает не первый кадр... Подскажите, плз, где враги окопались? smile.gif
[CODE]
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
if (i_frame <= 200 || i_frame>=1 )
{
ani_MyAnimate->StartFrame = i_frame;
//ani_MyAnimate->Seek(i_frame);
}
}
[CODE]
Guest
Отправлено: 18.02.2005, 17:22


Не зарегистрирован







А враги "окопались", как обычно, в кривых руках... Публично объявленная переменная изменялась в разных местах "самоделки..."
Вот так все работает...
[CODE]
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
if (Edit1->Text == "" || Edit1->Text == "0")
{
Edit1->Text = 1;
}
if (StrToInt(Edit1->Text)>Animate1->FrameCount)
{
Edit1->Text = IntToStr(Animate1->FrameCount);
}
try
{
Animate1->Seek(StrToInt(Edit1->Text));
}
catch(...)
{
Animate1->Seek(1);
}
}
[CODE]
Вот и поговорили smile.gif

Вернуться в Вопросы программирования в C++Builder