** Harold |
Отправлено: 18.02.2005, 03:26 |
|
Не зарегистрирован
|
Имеем Edit1, в котором изменяем желаемый для просмотра в данный момент времени номер кадра avi'шки. Наивно предполагаем, что у TAnimate есть функция, которая поможет установить avi'шку на нужный для просмотра кадр. Ничего более привлекательного, чем Animate->Seek(frame) и Animate->StartFrame не находим. Но работает все как-то криво... то не с первого кадра, то Seek(1) дает не первый кадр... Подскажите, плз, где враги окопались?
[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]
Вот и поговорили |
|
|