ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Анімація без зайвих зусиль
         

     

    Інформатика, програмування

    Анімація без зайвих зусиль

    Сьогодні ми поговоримо про те, як досягти красивою анімації. Для цього не потрібно писати кілобайти код або будувати програму на технології Flash. Відмінні результати можна отримати використовуючи тільки функції WinAPI або можливості Delphi. Я розгляну кілька таких незвичайних можливостей, причому найбільший приклад буде складатися з менш ніж 10 (!) рядків коду.

    Альфа-змішування

    Для того, що б зробити форму напів-прозорою не треба використовувати будь-які компоненти. Не треба навіть прописувати ні строчки коду. Що б зробити форму напів-прозорої, досить привласнити значенням TForm.AlphaBlend: = true і AlphaBlendValue менше ніж 255. Чим менше буде значення AlphaBlendValue, тим прозоріше буде форма. Можна маніпулювати цими значеннями і створювати цікаві ефекти за допомогою циклів. Ось, наприклад, як можна створити красивий ефект при активації форми:

    Form1.AlphaBlend: = true;

    Form1.AlphaBlendValue: = 100;

    Form1.Show;

    for i: = 100 to 255 do

    begin

    Form1.AlphaBlendValue: = i;

    Application.ProcessMessages;

    end;

    Слід помітити, що ефект не буде плавним на слабких машинах.

    AnimateWindow

    В попередньому прикладі я показав, як за допомогою циклу плавно вивести форму на екран. Для досягнення майже такого ж ефекту можна скористатися WinApi функцією AnimateWindow. Опції передається 3 параметри: hWnd: THandle -- дескриптор вікна, яке потрібно анімувати; dwTime: Cardinal = час, на протягом якого буде тривати анімація вікна; dwFlags: Cardinal; -- прапори, що визначають спосіб анімації. Приклад:

    AnimateWindow (Form1.Handle, 1000, AW_BLEND);

    Form1.Show;

    Крім прапора AW_BLEND є ще кілька прапорів, за допомогою яких можна досягти досить вражаючі результати:

    AW_HOR_POSITIVE - Анімуються форму зліва направо

    AW_HOR_NEGATIVE - Анімуються форму справа наліво

    AW_VER_POSITIVE - Анімуються форму зверху вниз

    AW_VER_NEGATIVE - Анімуються форму знизу вгору

    AW_CENTER - Анімуються форму з центру

    З допомогою цієї технології зручно демонструвати слайди. А якщо одночасно ще і використовувати альфа-змішування, то вийде дуже вражаюче.

    Дірявий форма

    При використанні компонента TShape можна зробити у формі дірку. Покладіть на форму TShape та надайте властивості Brush.Color: = clGreen. А якщо ще й привласнити властивості форми FormStyle: = fsStayOnTop то через форму можна не тільки дивитися на те, що знаходите позаду неї, але і натискати на кнопки, редагувати текст і т.п. Трюк "Літаючі кнопки": розташуйте TShape на форму (Shape: = stRectangle, Brush.Color: = clRed), надайте властивості Align: = alClient і надайте властивості форми BorderStyle = bsNone. Далі додайте на форму кнопки та інші елементи управління.

    Масштабування

    Ну і на останок я розповім про корисну можливість масштабування. Само масштабування виробляє метод ScaleBy класу TForm. Властивості PixelPerInch і Scaled дозволяють Delphi автоматично змінювати розмір форми у разі якщо додаток запускається з використанням системного шрифту іншого розміру. Сам метод масштабує тільки вміст форми, якщо ви хочете, що б рамер форми теж масштабуватися разом з елементами управління, то встановіть властивість AutoScroll: = false.

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://www.soch.imperium.by

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status