АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Private

Прочитайте:
  1. Private

procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;

Implementation

procedure TGraphicButton.CMMouseLeave(var Message: TMessage);

Begin

inherited; // вызываем унаследованный метод- обработчик сообщения

Color:=ButtonColor; // текущим цветом становится цвет ButtonColor

Invalidate; // компонент перерисовывается

end;

 

Так как мы используем с вами идентификатор сообщения CM_MOUSELEAVE и тип TMessage, то необходимо подключить модуль Messages:

 

Interface

Uses

SysUtils, Classes, Messages, Controls, Graphics;

 

Теперь модуль компонентного класса полностью готов и мы должны зарегистрировать компонент в среде разработки. Для этого выберем меню Component > Install component. В появившемся окне диалога выберем вкладку Into existing package. В поле Unit file name укажем путь к модулю компонентного класса TGraphicButton (Borland\Delphi7\Lib\…). В поле Package file name укажем путь к созданному нами пакету Npackage.dpk (Borland\Delphi7\Lib\…).(Рис. 5). После подтверждения система спросит, о том нужно ли компилировать пакет - необходимо ответить Yes. После чего появится информационное окно, говорящее о регистрации компонента (Рис. 6).

 

Если в модуле есть ошибки, то будет показана ошибка. После исправления ошибки, необходимо перейти к окну редактора пакета (Рис. 7) и запустить компиляцию (кнопка Compile).

 

 

Рис. 5. Окно диалога инсталляции компонента.

 

 

Рис. 6. Информационное окно. Зарегистрирован компонент TGraphicButton.

 

Рис. 7. Окно редактора пакета

 

После того как на экране появится информационное окно об успешной регистрации компонента, закройте проект пакетной библиотеки (меню File > Close All). Если потребуется сохранить изменения, сохраните.

 

Создадим приложение с использованием нового компонента GraphicButton. Выберем File > New > Application. Перейдем на вкладку NEWCOMPONENTS и поместим на форму компонент GraphicButton (Рис. 8).

Рис. 8. Редактируемая форма. Компонент GraphicButton

 

Настройте свойства компонента и запустите приложение.

 

 

Задание

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

· фиксация получения фокуса компонентом должна выражаться в изменении его графического облика (появление черной рамки в области компонента);

· должна фиксироваться потеря фокуса компонентом (исчезновение черной рамки в области компонента);

· при получении фокуса компонентом, для него должна быть доступна клавиатура;

· при нажатии символьной клавиши, в сфокусированном компоненте должен отображаться символ клавиши;

· должны быть опубликованы унаследованные свойства: OnEnter, OnExit, OnKeyPress.

 


Лабораторная работа № 9

«Использование готовых изображений. Компонент Image». «Создание простейших графических примитивов в Delphi»

 

«Использование готовых изображений. Компонент Image»

 

Компонент Image предназначен для отображения графических изображений в формах проекта. Располагается этот компонент на вкладке Additional палитры компонентов Delphi. Встроенный в компонент Image внутренний объект Picture позволяет хранить изображения в форматах: BMP, JPEG, ICO, EMF, WMF. Рассмотрим компонент Image и несколько его свойств. Создадим новое приложение, выбрав меню File > New > Application. Поместим на форму компонент Image (Рис.1).

Рис.1. Редактируемая форма. Компонент Image.

 

Выделим компонент Image1 и в Инспекторе объектов вызовем редактор свойства Picture (Рис.2).

 

Рис.2. Редактор свойства Picture компонента Image1

 

Загрузим графическое изображение (кнопка Load) (Рис.3).

Рис.3. Редактор свойства Picture компонента Image1. Загрузка изображения.

 

После подтверждения, компонент Image1 будет отображать выбранное изображение. После того как изображение загружено из файла, оно не привязано к этому файлу – изображение будет скомпилировано, и как ресурс будет записано в исполнимый файл.

 

Если изображение велико, то оно может не отображаться целиком в графической области компонента Image1 (Рис. 4).

 

Рис. 4. Редактируемая форма. Компонент Image1.

 

Для того чтобы изображение целиком вписывалось в область компонента Image1, необходимо в свойство Stretch компонента Image1 установить значение true (Рис. 5).

Рис. 5. Редактируемая форма. Компонент Image1.

 

 

«Создание простейших графических примитивов в Delphi»

Delphi позволяет программисту разрабатывать программы, которые могут выводить графику: схемы, чертежи, иллюстрации.

Программа выводит графику на поверхность объекта (формы или компонента Image). Поверхности объекта соответствует свойство canvas. Для того чтобы вывести на поверхность объекта графический элемент (прямую линию, окружность, прямоугольник и т. д.), необходимо применить к свойству canvas этого объекта соответствующий метод. Например, инструкция Form1.Canvas.Rectangle (10,10,100,100) вычерчивает в окне программы прямоугольник.

Холст

Как было сказано ранее, поверхности, на которую программа может выводить графику, соответствует свойство Canvas. В свою очередь, свойство canvas — это объект типа TCanvas. Методы этого типа обеспечивают вывод графических примитивов (точек, линий, окружностей, прямоугольников и т. д.), а свойства позволяют задать характеристики выводимых графических примитивов: цвет, толщину и стиль линий; цвет и вид заполнения областей; характеристики шрифта при выводе текстовой информации.

Методы вывода графических примитивов рассматривают свойство Canvas как некоторый абстрактный холст, на котором они могут рисовать (canvas переводится как "поверхность", "холст для рисования"). Холст состоит из отдельных точек — пикселов. Положение пиксела характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Левый верхний пиксел имеет координаты (0, 0). Координаты возрастают сверху вниз и слева направо (рис. 10.1). Значения координат правой нижней точки холста зависят от размера холста.

Рис. 10.1. Координаты точек холста

Размер холста можно получить, обратившись к свойствам Height и width области иллюстрации (image) или к свойствам формы: ClientHeight и Clientwidth.

 


Дата добавления: 2015-09-18 | Просмотры: 541 | Нарушение авторских прав



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |



При использовании материала ссылка на сайт medlec.org обязательна! (0.006 сек.)