Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Програма, призначена для відтворення відео файлів

Реферат Програма, призначена для відтворення відео файлів





align="justify"> # define DEFAULT_MEDIA_PATH TEXT ( [fde_1440622699_4499262061_174] )

//Константи відповідають за геом. Розміри вікна в пікселях

# define DEFAULT_AUDIO_WIDTH 240//Ширина по//замовчуванням в режимі «тільки звук»

# define DEFAULT_AUDIO_HEIGHT 120//Висота по//замовчуванням в режимі «тільки звук»

# define DEFAULT_VIDEO_WIDTH 320//Ширина по//замовчуванням

# define DEFAULT_VIDEO_HEIGHT 240//Висота по//замовчуванням

# define MINIMUM_VIDEO_WIDTH 200//хв ширина

# define MINIMUM_VIDEO_HEIGHT 120//макс ширина

//перелічуваний тип стану плеераPLAYSTATE {Stopped, Paused, Running, Init};

//

//Макро визначення

//

# define SAFE_RELEASE (x) {if (x) x- gt; Release (); x=NULL; }

# define JIF (x) if (FAILED (hr=(x)))

{Msg (TEXT ( FAILED (hr=0x% x) in ) TEXT (#x) TEXT ( n 0 ), hr); return hr;}

# define LIF (x) if (FAILED (hr=(x)))

{Msg (TEXT ( FAILED (hr=0x% x) in ) TEXT (#x) TEXT ( n 0 ), hr);}

//Зовнішні переменниеPLAYSTATE g_psCurrent; HWND ghApp; HINSTANCE ghInst;

extern BOOL g_bFullscreen;


Розроблений клас має всі основні можливості для комфортного відтворення і управління відтворенням файлу.


. 2.2 Розробка модуля користувача інтерфейсу

Модуль користувальницького інтерфейсу програми є важливою частиною програми, так як від результатів розробки цього модуля залежить «зовнішній вигляд» ІМС, її доступність і функціональність. При розробці інтерфейсу були використані наступні можливості бібліотеки GDI +: Створення вікон довільної форми. Для створення вікон довільної форми використовувалися регіони. Створення кнопок довільної форми. Для їх створення аналогічним чином використовувалися регіони. Алгоритм використання регіону для створення вікна довільної форми:

) Створення бінарного файлу типу RGN містить інформацію про регіон за допомогою спеціалізованого ПЗ (пр.Photoshop CS2);

Створення регіону за допомогою функції ExtCreateRegion із двійкового файлу типу RGN;

Призначення отриманого регіону головному вікну програми за допомогою функції SetWindowRgn (RGN rng);

Тепер необхідно передбачити промальовування заднього фону вікна при настанні події Paint. Для цього зроблені наступні кроки:

а) у процедурі ініціалізації вікна необхідно отримати контекст графічного пристрою за допомогою процедури GetDC ();

б) створити сумісний з ним контекст в пам'яті (для зберігання фонового малюнка) за допомогою функції CreateCompatibleDC;

в) помістити в цей контекст фоновий малюнок за допомогою функції SelectObject;

г) у процедурі Paint відображаємо фоновий малюнок з використанням контексту, отриманого в п. 2), з використанням функції BitBlt ();

Для промальовування кнопок округлої форми використаний дещо інший підхід. Алгоритм створення:

У процедурі ініціалізації головного вікна необхідно для кожної кнопки створити контекст графічного пристрою, сумісний з контекстом головного вікна, і призначити кожному малюнок, який буде виступати в якості фонового малюнка соот?? етствующей кнопки;

У дизайнері форм середовища VisualStudio.NET встановити властивість «OwnerDraw» кнопок в true (це зроблено для того, щоб ми самі відповідали за відображення поверхні кнопки при настанні системного події WM_DRAWITEM);

Подія WM_DRAWITEM обробляється за допомогою функції-члена OnDrawItem класу головного вікна, при цьому програміст має доступ до структури типу LPDRAWITEMSTRUCT, що містить інформацію про стан кнопки, її позиції у вікні, контекст пристрою, пов'язаний з кнопкою, її розміри та інші параметри;

У перевизначення функції OnDrawItem використовується змінна skin типу CBitmap для зберігання виду кнопки, в цю змінну ми завантажуємо картинку з ресурсів програми за допомогою функції LoadBitmap;

Тепер відображаємо фоновий малюнок за допомогою соответсвующего контексту, отриманого на першому кроці, за допомогою функції BitBlt;

Тепер для поточного контексту кнопки, отриманого з структури LPDRAWITEMSTRUCT, призначаємо кисть для малювання із змінної skin за допомогою функції CreatePatternBrush;

Далі для створення круглої форми (регіону) кнопки використовується функція CreateEllipticRgn...


Назад | сторінка 4 з 9 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка малюнка настінного календаря за допомогою графічного редактора Cor ...
  • Реферат на тему: Створення навчального програми за допомогою flash-анімації
  • Реферат на тему: Створення бази даних за допомогою програми Microsoft Access: Склад
  • Реферат на тему: Створення меню без файлу опису ресурсів на основі функції LoadMenuIndirect ...
  • Реферат на тему: Створення web-сторінки за допомогою гіпертекстової розмітки HTML з використ ...