|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
If MainForm.Circle.Down Then
Begin xc:= X; // Присвоїти координатам кола yc:= Y; // координати миші Image.Canvas.Ellipse(xc-100, yc-100, xc+100, yc+100); end; Примітка. Для того, щоб властивість Down (натиснута) кнопки Circle, описаної у модулі головної форми, була доступна й у модулі дочірньої форми, необхідно в останньому зробити запис uses MainUnit; Запустіть програму і перегляньте результати програмування. При натисканні лівої кнопки миші виводиться коло, при русі миші рисується лінія. Для того, щоб переміщати коло, необхідно модифікувати процедуру оброблення події переміщення миші: if ssLeft in Shift Then // Якщо натиснута ліва кнопка миші //Якщо натиснута кнопка Circle If MainForm.Circle.Down Then Begin // Стерти старе коло Image.Canvas.Ellipse(xc-100, yc-100, xc+100, yc+100); xc:= X; // Присвоїти координатам кола yc:= Y; // нові координати // Намалювати нове коло Image.Canvas.Ellipse(xc-100, yc-100, xc+100, yc+100); end // Інакше намалювати лінію else Image.Canvas.LineTo(X, Y); Зверніть увагу, що для стирання кола використовується той саме код, як і для малювання. Такий підхід здійснюється завдяки встановлення інвертованого стилю виведення: Image.Canvas.Pen.Mode:= pmNotXor; Цей рядок треба помістити в процедуру оброблення події OnCreate (при створенні) форми Child.
Завдання. 1. Реалізувати метод для рисування прямокутника (один кут прямокутника фіксується першим натисканням кнопки миші, другий кут слідує за курсором миші до наступного натискання кнопки миші). 2. Реалізувати метод для переміщення мишею виведеного на полотно прямокутника.
Зміст звіту 1. Назва і мета роботи. 2. Код програми.
Контрольні питання 1. Що таке Canvas? Назвіть основні властивості та методи класу TCanvas. 2. Поясніть рядок коду If ssLeft in Shift Then Image. Canvas. LineTo (X, Y); 3. У чому полягає перевага використання компонента Image для малювання графічних примітивів? 4. Поясніть значення властивостей Down, GroupIndex та AllowAllUp кнопок швидкого доступу. 5. У чому полягають переваги інвертованого стилю виведення графічних об’єктів?
Література 1. Александровский А. Delphi 5. Разработка корпоративных приложений. – М.: ДМК, 2000. – 512 с. 2. Архангельский А. Я. Object Pascal в Delphi. – М.: ЗАО «Издательство Бином», 1999. – 224 с. 3. Архангельский А. Я. Программирование в Delphi 6. – М.: ЗАО «Издательство Бином», 2002. – 1120 с. 4. Бобровский С. Delphi 5: Учебный курс. – СПб.: Питер, 2002. – 640 с. 5. Вирт Н. Алгоритмы + структуры данных = программы. – М.: Мир, 1985. – 406 с.
Лабораторна робота № 12
Тема: Використання одновимірнихмасивів. Мета: Практичне застосування одновимірнихмасивів при написанні програм на мові Object Pascal у системі Delphi.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |