:: Меню ::

Головна
Передмова
СЕРЕДОВИЩЕ РОЗРОБКИ C++ BUILDER
Початок роботи
Перший проект
ПРАКТИКУМ ПРОГРАМУВАННЯ
Графіка
Мультимедіа
Бази даних
Компонент програміста
Консольне застосування
Довідкова система
Створення настановного диска
Приклади програм
C++ Builder — короткий довідник
Книга для гостей
Контакти
Добавити у вибране

:: Друзі ::

 
В чтениях Кейси прибытие внеземных духовный существ на Землю датируется 200.000-ми.. Эдгар Кейси: Ответ 12: «Как только произойдёт первый катаклизм в Южном море и начнут наблюдаться погружения и поднятия суши почти в диаметрально противоположной части земного шара, в Средиземноморье, в районе Этны, - это и будет началом». В 1940 году выдающийся американский ясновидящий Эдгар Кейси высказал одно из самых странных своих пророчеств. Он предрек, что Атлантида поднимется со дна океана, и произойдет это между 1966 и 1970 годами. . .

:: Лічильники ::

=

 

 

 

 

 

Компонент Animate



Компонент Animate значок якого знаходиться на вкладці Win32 (мал. 4.1), дозволяє відтворювати просту, не супроводжувану звуком анімацію, кадри якої знаходяться в AVI-файле.



Мал. 4.1. Значок компоненту Animate


Компонент Animate додається до форми звичайним способом. Після того, як компонент буде доданий до форми, слід виконати його налаштування — встановити значення властивостей. Властивості компоненту Animate перераховані в таблиці. 4.1.

Таблиця 4.1. Властивості компоненту Animate


Властивість

Опис

Name

Ім'я компоненту. Використовується для доступу до властивостей компоненту і для управління його поведінкою

Filename

Ім'я AVI-файла, в якому знаходиться анімація, що відображається за допомогою компоненту

Framewidth

Ширіна кадрів анімації

Frameheight

Висота кадрів анімації

Framecount

Кількість кадрів анімації

Autosize

Ознака автоматичної зміни розміру компоненту відповідно до розміру кадрів анімації

Cente-r

Ознака центрування кадрів анімації в полі компоненту. Якщо значення властивості рівне true і розмір компоненту більше розміру кадрів (Autosize = false), кадри анімації розташовуються в центрі поля компоненту

Startframe

Номер кадру, з якого починається відображення анімації

Stopframe

Номер кадру, на якому закінчується відображення анімації

Active

Ознака активізації процесу відображення анімації

Color

Колір фону компоненту (колір "екрану"), на якому відтворюється анімація

Transparent

Режим використання "прозорого" кольору при відображенні анімації

Repetitions

Кількість повторів відображення анімації

COMMONAVI

Визначає стандартну анімацію Windows (див. таблиці. 4.2)


Компонент Animate дозволяє програмістові використовувати в своїх програмах стандартні анімації Windows. Вид анімації визначається значенням властивості COMMONAVI. Значення властивості задається за допомогою іменованої константи. У таблиці. 4.2 приведені деякі константи, вид анімації і опис процесів, для ілюстрації яких використовуються ці анімації.

Таблиця 4.2. Значення властивості conwonavI визначає анімацію


Значення

Анімація

Процес

avicopyfiles

Копіювання файлів

avideletefile

Видалення файлу

avirecyclefile

Видалення файлу в корзину


Слід ще раз звернути увагу, що компонент Animate призначений для відтворення AVI-файлов, які містять тільки анімацію. При спробі записати у властивість Filename ім'я файлу, в якому знаходиться супроводжувана звуком анімація, виникає виключення і C++ Builder виводить повідомлення про помилку Cannot open AVI.

Наступна програма (вид її діалогового вікна приведений на мал. 4.2, а текст— в лістингу 4.1) демонструє використання компоненту Animate для проглядання анімації.



Мал. 4.2. Форма програми "Проглядання анімації"


Після запуску програми у формі буде виведений перший кадр анімації, яка знаходиться в каталозі проекту. Якщо жодного файлу з розширенням avi у каталозі проекту немає, те поле компоненту Animate залишиться порожнім.

Ім'я файлу, в якому знаходиться анімація, можна ввести в поле Edit1 або вибрати в стандартному діалоговому вікні Відкрити файл яке стає доступним в результаті клацання на кнопці Вибрати. Доступ до стандартного діалогового вікна Відкрити файл забезпечує компонент opendialog1. Значок компоненту opendialog знаходиться на вкладці Dialogs.

Програма "Проглядання анімації" забезпечує два режими перегляду: безперервний і по кадрах. Кнопка Button1 використовується як для ініціалізації процесу відтворення анімації, так і для його припинення. Процес безперервного відтворення анімації ініціює процедура обробки події onclick на кнопці Пуск яка привласнює значення true властивості Active. Ця ж процедура замінює текст на кнопці Button1 з "Пуск" на "Стоп". Режим відтворення анімації вибирається за допомогою перемикачів Radiobutton1 і Radiobutton2. Процедури обробки події Onclick на цих перемикачах зміною значення властивості Enabled блокують або, навпаки, роблять доступними кнопки управління: активізації відтворення анімації (Buttoni), переходу до наступного (Button2) і попереднього (Buttons) кадру. Під час безперервного відтворення анімації процедура обробки події onckick на кнопці Стоп (Buttoni) привласнює значення false властивості Active і тим самим зупиняє процес відтворення анімації.

Лістинг 4.1. Використання компоненту Animate

// обробка події Oncreate
void__fastcall Tforml::formcreate(Tobject *Sender)
{
Tsearchrec sr;  // містить інформацію
//про файл, знайдений функцією Findfirst
//  знайдемо AVI-файл в поточному каталозі 
if (Findfirst("*.avi",faAnyFile, sr) == 0)
 {
Editl->text = sr.Name;
      
   
     
 /* якщо
анімація містить звук, то при
try
Animatel->filename = sr.Name; 
}

catch (Exception &e)
 {
return;
}
Radiobuttonl->enabled = true; 
Radiobutton2->enabled = true; 
Buttonl->enabled = true; } }
// клацання на кнопці Вибрати
void __fastcall Tforml::button4click(Tobject *Sender)
{
Opendialogl->initialdir = "";   
 // відкрити каталог, з якого
// запущена програма
Opendialogl->filename = "*.avi";  
// вивести список AVI-файлов
if ( Opendialogl->execute()) {
// користувач вибрав файл і натиснув кнопку Відкрити
// Компонент Animate може відображати тільки просту
// не супроводжувану звуком анімацію. Тому
// при виконанні наступної інструкції можлива помилка
try
{
Animatel->filename = Opendialogl->filename;
 
}
catch (Exception &e)
 {
Editl-xtext = "";
// зробимо недоступними кнопки управління

Radiobuttonl->enabled = false;
Radiobutton2->enabled = false;
Buttonl->enabled = false;
Button2->enabled = false;
Button3->enabled = false;
// повідомлення про помилку Ansistring msg =
"Помилка відкриття файлу " +
 
  Opendialogl->filename +
Showmessage(msg); return;
}
Editl-xtext = Opendialogl->filename; 
// відобразити ім'я файлу
Radiobuttonl->checked = true;
// режим перегляду — безперервно 
Buttonl->enabled = true;    
// кнопка Пуск доступна Button2->enabled = false;    
// кнопка Попередній кадр недоступна 
Button3->enabled = false;    
// кнопка Наступний кадр недоступна
Radiobuttonl->enabled = true;
 Radiobutton2->enabled = true;
 
}
}
// клацання на кнопці Пуськ/стоп
void__fastcall Tforml::buttonlclick(Tobject *Sender)
{
if (Animatel->active) 
{
// анімація відображається, клацання на кнопці Стоп 
Animatel->active = false; Buttonl->
Caption = "Пуск"; 
Radiobutton2->enabled = true;
 
} 
else // клацання на кнопці Пуск
(
// активізувати відображення анімації
Animatel->startframe = 1;                                         
 
// з першого кадру
Animatel->stopframe = Animatel->framecount; 
// по останній кадр
Animatel->active = true;
Buttonl->caption = "Стоп";
Radiobutton2->enabled = false; 
} 
}
// вибір режиму проглядання всієї анімації
void __fastcall Tforml::radiobuttonlclick(Tobject *Sender)
{
Buttonl->enabled = true; // кнопка Пуськ/стоп доступна 
// зробити недоступними кнопки режиму перегляду по кадрах 
Button2->enabled = false; 
Button3->enabled = false;
Animatel->active = false; }
// вибір режиму перегляду по кадрах
void __fastcall Tforml::radiobutton2click(Tobject *Sender)
{
Buttonl->enabled = false; // кнопка Пуськ/стоп недоступна
Button2->enabled = true;   // кнопка Наступний кадр доступна 
Button3->enabled = false;  // кнопка Попередній кадр недоступна 
// відобразити перший кадр 
Animatel->startframe =1; 
Animatel->stopframe = 1; 
Animatel->active = true;
Cframe =1; // запам'ятаємо номер кадру, що відображається
 }
// клацання на кнопці Наступний кадр
void__fastcall Tforml::button2click(Tobject *Sender)
{
Cframe++;
// відобразити кадр
Animatel->startframe = Cframe;
Animatel->stopframe = Cframe;
Animatel->active = true;
if (Cframe > 1)
Button3->enabled = true;
if (Cframe == Animatel->framecount) 
// відобразили останній кадр
Button2->enabled = false;    
// кнопка Наступний кадр недоступна }
// клацання на кнопці Попередній кадр
void__fastcall Tforml::button3click(Tobject *Sender)
{
if (Cframe == Animatel->framecount)
 // останній кадр Button2->enabled = true;
Cframe—;
// відобразити кадр 
Animatel->startframe = Cframe; 
Animatel->stopframe = Cframe; 
Animatel->active = true;
if (Cframe == 1)
Button3->enabled = false;  
 // кнопка Наступний кадр
 недоступна
 


Порадуйте свое тело проститутками Чебоксар прямо сейчас. | Недорогие проститутки Иркутска ублажат вас по полной. http://a.msk-intim.info/ankets/cheap Дешевые.
x

:: Наша кнопка ::

Отримати код:

Підтримайте наш сайт і розмістіть нашу кнопку на своєму ресурсі.


:: Реклама ::


:: Посилання ::

-


 

 

 


Copyright by Zvircom © 2009