fy"> Створимо головне меню, що містить наступні пункти:
Файл: Колір: Розмір:
Новий Колір олівця Збільшити олівець
Вихід Колір кисті Зменшити олівець
Збільшити фігуру
Зменшити фігуру
. Створимо глобальну змінну Radius, инициализируем її при створенні форми значенням 10, і замінимо нею константи при створенні фігур в обробнику події OnMouseDown:
if button = mbLeft thenssShift in Shift then
6. Обробимо події OnClick пунктів меню таким чином:
Новий:
repaint;
Вихід:. Close;
Колір олівця:. Color: = canvas.Pen.color; colordialog1.Execute then.Pen.Color: = colordialog1.Color;
Колір кисті:. Color: = canvas.brush.color; colordialog1.Execute then.brush.Color: = colordialog1.Color;
Збільшити олівець:. Pen.Width: = canvas.Pen.Width +2;
Зменшити олівець:
canvas.Pen.Width: = canvas.Pen.Width-2; Canvas.Pen.Width <3 then canvas.Pen.Width = 3; {обмеження на мінімальну товщину олівця)
Збільшити фігуру:
radius: = radius +5;
Зменшити фігуру:
radius: = radius-5;
Виконати самостійно:
. Створити обробник події OnClick пункту меню Вихід із запитом про вихід з програми. p align="justify">. Створити обмеження на збільшення розміру олівця. p align="justify">. Створити обмеження на збільшення і зменшення (не менше як Radius-10) розміру фігури. p align="justify"> Результатом виконання даної лабораторної роботи є створений згідно із завданням програмний продукт. Виконане завдання повинне бути пред'явлено викладачеві в електронному вигляді. У ході захисту лабораторної роботи студент повинен продемонструвати свої навички роботи з вивченими компонентами та методами проектування інтерфейсу користувача. br/>
Лабораторна робота № 7. Електронна записна книжка
Мета: Вивчення компонентів багатосторінкових панелей TabControl і PageControl.
Короткі теоретичні відомості.
Багатосторінкові панелі дозволяють економити простір вікна програми, розміщуючи на одному і тому ж місці сторінки різного змісту. Кожна створювана вами сторінка компонента TabControl і PageControl є об'єктом типу TTabSheet. Це панель, на якій можна розміщувати будь-які керуючі компоненти, вікна редагування і т.п. p align="justify"> Сторінка має наступні основні характеристики:
NameІмя, за яким можна посилатися на страніцуCaption Напис, яка з'являється на ярличку закладки PageIndex Індекс сторінки, по якому можна посилатися на сторінку ImageIndex Індекс зображення, яке може з'являтися на ярличку закладки
Із загальних властивостей компонента TabControl і PageControl можна відзначити:
StyleОпределяет стиль відображення компонента: tsTabs - закладки, tsButtons - кнопки, tsFlatButtons - плоскі кнопки. MultiLineОпределяет, чи будуть закладки розміщуватися в кілька рядів, якщо всі вони не поміщаються в один ряд.TabPositionОпределяет місце розташування ярличків закладок: tpBottom - внизу, tpLeft - зліва, tpRight - справа і tpTop - вгорі компонента. TabHeight і TabWidthВисота і ширина ярличків закладок в пікселях. Якщо значення цих параметрів задані рівними 0, то розміри ярличків визначаються автоматично за розмірами написів на них ImagesСсилка на компонент ImageList, який містить список зображень на ярличках. Властивості ImageIndex сторінок містять індекси, відповідні саме цього списку ScrollOppositeОпределят спосіб переміщення закладок при розміщенні їх у кілька рядів. ActivePageІмя активної сторінки Pages [Index: Integer] Доступ до сторінки за індексом (перша сторінка має індекс 0). Властивість тільки для читання PageCountКолічество сторінок. Властивість тільки для читання
Принципова відмінність компонента TabControl від PageControl полягає в тому, що TabControl не має безлічі панелей (сторінок). Компонент являє собою одну сторінку з керуючим елементом типу кнопки з багатьма положеннями. І треба написати відповідні обробники подій OnChanging і OnChange, щоб визначити, що саме має відбуватися на панелі при перемиканнях закладок користуваче...