Разработка простого приложения Delphi

Автор работы: Пользователь скрыл имя, 23 Февраля 2011 в 07:41, лабораторная работа

Описание работы

. Цель работы

Ознакомление со средой визуального программирования Delphi и разра-

ботка в ней простейших приложений.

Файлы: 1 файл

ЛАБОРАТОРНАЯ РАБОТА по дельфи.doc

— 416.00 Кб (Скачать файл)

разработанных классов.

    Вариант 3

    Разработайте два класса потомка  от Animal, которые будут отображать

особенности двух новых животных Fish (рыба) и Bird (птица). Разработай-

те методы для этих классов, позволяющие получить некоторые характери-

стики этих типов животных (среда обитания, покров тела, издаваемый звук

и т.д.). Дополните  форму компонентами, позволяющими увидеть  все харак-

теристики разработанных классов.

    Вариант 4

    Разработайте два класса потомка  от Animal, которые будут отображать

особенности двух видов насекомых Gnat (комар) и Fly (муха). Разработайте

методы  для этих классов, позволяющие получить некоторые характеристики

этих насекомых (скорость передвижения, окраска, используемая пища и

т.д.). Дополните  форму компонентами, позволяющими увидеть все эти ха-

рактеристики  разработанных классов.

    Вариант 5

    Разработайте два класса потомка  от Animal, которые будут отображать

особенности двух видов млекопитающих Man (человек) и Monkey (обезья-

на). Разработайте методы для этих классов, позволяющие получить некото-

рые характеристики этих существ (способ общения, покров, рост и т.д.). До-

                                     46 
 

полните форму компонентами, позволяющими увидеть  все эти характери-

стики разработанных  классов. 
 
 
 

                 Рис. 4.4. Форма характеристик пород собак 

6. Результаты  работы

   В  результате выполнения лабораторной  работы студент должен проде-

   монстрировать  преподавателю готовый проект, файлы  форм и исходный

   код  модулей. 
 
 
 

                                    47 
 

                ЛАБОРАТОРНАЯ РАБОТА № 5

               Получение ввода от мыши. Рисование  в форме

1. Цель  работы

    Ознакомление с графическими  средствами среды программирования

Delphi и  разработка в ней простейших  графических программ. 

2. Домашнее задание

         Изучить 9 раздел конспекта лекций, описывающий средства черче-

 ния  и рисования в форме.

         Ознакомиться с описанием и  заданием на лабораторную работу. 

3. Основные  понятия и приемы 

      Когда пользователь нажимает  одну из кнопок мыши, указатель кото-

рой находится  над формой (или над компонентом), Windows посылает при-

ложению несколько сообщений. Для написания  кода, откликающегося на

эти сообщения, Delphi определяет несколько событий. Основных событий

два: OnMouseDown, которое происходит при нажатии одной из кнопок мы-

ши, и OnMouseUp, которое происходит при освобождении кнопки.

      Еще одно важное системное  сообщение связано с перемещением  мы-

ши –  сообщение OnMouseMove. Событие OnClick также  доступно и в фор-

ме. Его  основной смысл состоит в том, что левая кнопка мыши нажимается

и отпускается  над одним и тем же окном  или компонентом. Однако в период

между этими  двумя действиями курсор может переместиться  за пределы ок-

на или  компонента, причем левая кнопка мыши будет удерживаться нажа-

той. Если вы в определенной позиции нажмете  кнопку мыши, а затем пере-

местите мышь в другое место и отпустите  кнопку, то щелчок не произойдет.

В этом случае окно получает только сообщение о  нажатии, несколько сооб-

щений о  перемещении и сообщение об освобождении.

  3.1. События,  связанные с мышью

      Метод, соответствующий событию  OnMouseDown, имеет несколько

параметров: 

    procedure TForm1.FormMouseDown

    (Sender : TObject ; Button : TMouseButton ;

     Shift : TShiftState ; X,Y : Integer ) ; 

      Кроме обычного параметра Sender, здесь присутствуют еще четыре:

1) Button –  показывает, какая из трех кнопок  мыши была нажата. Возмож- 

                                     48 
 

   ные  значения: mbRight, mbLeft, mbCenter.

2) Shift –  показывает, какие влияющие на мышь клавиши были нажаты при

   возникновении  события. Такой клавишей может  быть Alt, Ctrl или Shift,

   нажатая  вместе с самой кнопкой мыши. Данный параметр имеет тип

   множества,  т.к. несколько клавиш могут  быть нажаты одновременно. Это

   означает, что при анализе условия вы  должны применять не проверку  на

   равенство,  а оператор in.

3) X и Y – показывают координаты позиции  мыши относительно клиент-

   ской  области.

   3.2. Рисование в форме

       Canvas (холст) – это область в форме для рисунка и многих других

графических компонентов. Чтобы получить доступ к пикселям формы, ис-

пользуйте свойство формы Canvas и свойство Pixels для Canvas. Свойство

Pixels –  это двумерный массив, соответствующий  цветам отдельных пиксе-

лов в Canvas. Canvas.Pixels[10,20] соответствует цвету пикселя, который на-

ходится на 10 пикселов правее и на 20 пикселов ниже точки отсчета. Обра-

щайтесь с массивом пикселов как с любым  другим свойством; чтобы изме-

нить цвет пикселя, присвойте ему новое  значение. Чтобы определить цвет

пикселя, – прочитайте значение.

       Этот класс создает «канву»,  на которой можно рисовать  чертежными

инструментами - пером, кистью и шрифтом. Объекты  класса TСanvas авто-

матически создаются для всех видимых компонентов, которые должны

уметь нарисовать себя. Они инкапсулируют объекты Font, Pen, Brush, а так-

же многочисленные методы, использующие эти объекты.

       Каждое свойство Canvas имеет воображаемое  перо для рисования ли-

ний и  контуров. Свойство Pen (перо) определяет цвет и размер линий и гра-

ниц фигур. Свойствами пера являются его цвет, размер (если это сплошная

линия) или  стиль. Работая с пером, вы можете прочитать (но не изменить)

его текущую  позицию (свойство PenPos). Позиция пера определяет исход-

ную точку  следующей линии, которую программа может нарисовать с по-

мощью метода LineTo. Для изменения позиции вы можете применить метод

MoveTo канвы.

       Свойство Brush (кисть) определяет цвет  очерченной поверхности.

Кисть используется для закрашивания замкнутых фигур. Свойствами кисти

являются  ее цвет, стиль и иногда растровое  изображение.

       Свойство Font определяет шрифт, который  используется методом

холста TextOut для написания текста в форме. Шрифт имеет имя, размер,

стиль, цвет и т.п.

    3.3. Черчение и рисование в системе Windows

♦   Черчение – вы обращаетесь к канве  и вызываете некоторые ее методы.

    Поскольку изображение не сохраняется,  форма может частично или це-

                                    49 
 

    ликом потерять свое содержимое (при закрытии окна формы другим ок-

    ном или при уменьшении размера  окна формы ).

♦ Рисование  – это технология, которая позволит приложению перерисовы-

    вать всю ее поверхность при  любых возможных условиях.

        Для вызова перерисовки можно  использовать методы Invalidate, Up-

Date, ReFresh и Repaint. 

4. Порядок  выполнения работы

   Задание  № 1

   1. После запуска DELPHI необходимо  создать форму (если она не  соз-

       дана автоматически) с помощью  меню File\New Application. Далее

       необходимо создать свою папку, в которой нужно сохранить проект

       и модуль.

   2. Поместить в форму меню Color (на  странице Standart Палитры Ком-

       понентов есть объект MainMenu) c командами  PenColor и BrushColor,

       которые будут соответственно  изменять цвет пера и кисти с помо-

       щью стандартной диалоговой панели (рис. 5.1). 
 
 
 

                     Рис. 5.1. Размещение меню в форме 

   3.   В форме реализовать согласно  варианту индивидуального задания

        рисование окружностей, эллипсов  и прямоугольников различных

        размеров и цветов с помощью  мыши, используя свойство Canvas

        формы. 

5. Варианты  индивидуальных заданий 

   Вариант  1

   Реализовать  рисование так, чтобы по нажатию  мыши (щелкая левой

кнопкой и удерживая ее при перемещении  мыши по горизонтали и вертика-

ли) рисовался  эллипс нужного размера и цвета, а используя ту же техноло-

гию и  удерживая клавишу SHIFT, можно было рисовать прямоугольники не-

обходимого  размера и цвета. 

                                    50 
 

        Вариант 2

   Реализовать рисование так, чтобы по нажатию мыши (щелкая левой

кнопкой и, удерживая ее при перемещении  мыши по горизонтали и вертика-

ли) рисовалась окружность произвольного радиуса  и цвета, а используя ту

же технологию и удерживая клавишу ALT, можно  было рисовать отрезки

различной длины и цвета.

   Вариант  3

   Реализовать  рисование так, чтобы по нажатию  мыши (щелкая левой

кнопкой и удерживая ее при перемещении  мыши по горизонтали и вертика-

ли) рисовалась окружность произвольного радиуса, а щелкая правой кноп-

Информация о работе Разработка простого приложения Delphi