Ноу Інти, лекція, хранитель екрану

Анотація: У даній лекції здійснюється проектування зберігача екрану засобами XNA Framework. Також описуються властивості вікна Display Properties і його використання при створенні екранного зберігача.

У цій лекції ми закріпимо вивчений раніше матеріал, створивши з використанням XNA повнофункціональний хранитель екрану (ScreenSaver), який відображає на екрані феєрверк: обертовий круг, з якого вилітає безліч різнокольорових іскор (рисунок 4.1).

Що таке зберігач екрану? Ця програма. автоматично запускається Windows після закінчення певного терміну бездіяльності комп'ютера. Спочатку використання зберігача екрану було обумовлено суто практичними міркування: перші монітори мали досить обмеженим ресурсом, в результаті чого тривалий відображення статичного зображення призводило до вигорання люмінофора в певних місцях і, відповідно, "запам'ятовування" монітором цього зображення 1 Наприклад, тривалий відображення панелей Norton Commander приводило до випалювання в люмінофорі монітора "зображення" даних панелей. Сучасні монітори мають значно більш тривалим терміном служби, тому в даний час хранитель екрану скоріше виконує декоративну роль.

Ноу Інти, лекція, хранитель екрану

Технічно хранитель екрану являє собою виконуваний exe-файл з розширенням. scr. Запускаючи хранитель екрану, Windows зраджує йому один з трьох параметрів командного рядка, перерахованих в таблиці 4.1. Розробники C ++ зазвичай створюють зберігачі екрану з використанням бібліотеки Scrnsave.lib (або Scrnsavw.lib), які самостійно обробляють параметри командного рядка і реалізують завершення роботи зберігача екрана при переміщенні миші, натиснути клавішу і т.п. Фактично розробнику необхідно лише перевизначити обробник події WM_PAINT і реалізувати код діалогового вікна.

До справедливості слід зазначити, що реалізація діалогового вікна засобами Win32 API є далеко не найприємнішою завданням.

Схожі статті