Кругле вікно в CBuilder

Останній приклад, який ми розглянемо в цьому розділі, найбільш яскраво ілюструє необхідність використання Windows API Можливість підтримувати непрямокутні вікна

– Одна з найприємніших речей, доданих в Windows API в Windows 95 і NT У попередніх версіях операційної системи Windows було неможливо зробити по-справжньому непрямокутну вікно, хоча ви могли намалювати вікно, що виглядає овальним або круглим, але реально область вікна все одно залишалася прямокутної

Однак з випуском Windows 95 і NT корпорація Microsoft додала підтримку концепції області вікна Область вікна – це форма (геометрична фігура), яка визначає, як вікно виглядає Області (regions) використовувалися протягом багатьох років для визначення частини вікна, в якій можна малювати Тільки в останніх реалізаціях операційної системи область може служити рамкою, що обмежує вікно Область вікна визначає не тільки частина вікна, на якій можна малювати, але також і область, приховану вікном, і частина вікна, відкликає ся на натискання кнопки миші У минулих версіях операційної системи вікно могло виглядати круглим, але реагувало воно на натискання кнопки в будь-якому місці прямокутника Крім того, область позаду вікна не оновлювалася, коли вікно, розташоване там, змінювалося, так як система Windows вважала, що цю область як і раніше займає верхнє «кругле» вікно

Як я вже говорив, все змінилося в нових версіях Windows Зараз ви можете зробити вікно дійсно круглим, більше того, ви можете навіть зробити вікно з діркою посередині Це призводить до багатьох цікавих можливостям для вашої програми Тепер можна представляти користувачеві разнообраз ві барвисті ефекти, так що він витратить ще більше часу на спілкування з вашою програмою

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

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

програмуванні)

На рис 96 показана програма, яку ми будемо розробляти Звичайно, форма не кругла насправді вона еліптична Точно так само і кнопка є еліптичної Коло – це окремий випадок еліпса, у якого обидві осі однакові Якщо ви хочете зробити кнопку саме круглої, то все, що потрібно зробити, – це вписати її на формі в квадрат Аналогічно, щоб зробити форму круглої, зробіть її ширину рівній висоті

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

Рис 96 Вікно круглої форми

Рис 97 Вид вікна форми під час дизайну

Джерело: Теллес М – Borland C + + Builder Бібліотека програміста – 1998

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*