Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Построение и обработка графических изображений




5.1 Обработка событий мыши

При изменении состояния мыши формируется три события.

5.1.1  Событие "Нажатие клавиши мыши"

Если нажать кнопку мыши над некоторым компонентом, то обработка будет выполняться следующим образом. Окно формы, над которым была нажата кнопка мыши, получит сообщение от мыши. Соответствующий метод-обработчик сообщения, получив это сообщение, определит компонент, над которым была нажата кнопка и, при наличии соответствующего метода-обработчика события передаст ему управление. Заголовок метода-обработчика события имеет следующий формат:

procedure <имя компонента>MouseDown(Sender: TObject;

          Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

где

Button : TMouseButton – параметр, определяющий, какая кнопка нажата:

type TMouseButton = (mbLeft, mbRight, mbMiddle); – соответственно, левая, правая или средняя кнопки;

Shift: TShiftState – параметр, определяющий нажатие управляющих клавиш клавиатуры и мыши (одновременно могут быть нажаты клавиши клавиатуры и мыши):

type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);

 X, Y: Integer – параметры, определяющие координаты мыши относительно компонента.

5.1.2  Событие "Движение мыши"

Если мышь движется с нажатой клавишей над компонентом, то многократно фиксируется событие движения мыши. Заголовок метода-обработчика события имеет следующий формат:

procedure <имя компонента>MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

5.1.3  Событие "Отпускание клавиши мыши"

Фиксируется при отпускании клавиши мыши над компонентом. Заголовок метода-обработчика события имеет следующий формат:

procedure <имя компонента>MouseUp(Sender:TObject;

Button:TMouseButton; Shift:TShiftState; X,Y:Integer);

Для обработки любого из этих событий необходимо предусмотреть соответствующий обработчик в классе формы.

5.2 Создание графических изображений в среде Turbo Delphi

Изображения в Windows создаются на  компоненте TImage, который используется в тех случаях, когда на форму необходимо поместить рисунок (готовый или формируемый в процессе работы). Рисунок формируется с помощью следующих типов и компонентов.

Типов

• точка,

• прямоугольник;

Компонентов:

• перо, которое используется для рисования линий;

• кисть, которая используется для закрашивания замкнутых фигур;

• шрифт, который используется при выводе надписей;

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

 

Точка – тип, позволяющий определить точку на экране:

type TPoint = record

X: Longint;

Y: Longint;

end;

Прямоугольник – тип, используемый для задания прямоугольника:

type TRect = record

case Integer of

0: (Left, Top, Right, Bottom: Integer);

1: (TopLeft, BottomRight: TPoint);

end;

Компонент перо (класс TPen)

C помощью класса TPen создается объект Перо, служащий для вычерчивания линий, контуров и т. п.

Свойства:

Color:TColor – цвет вычерчиваемых линий;

Width:Integer – толщина линии в пикселях экрана;

Style:TPenStyle – стиль линий – учитывается только для толщины 1 пиксель:

psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsidFrame;

Mode:TPenMode – способ взаимодействия линий с фоном, например,

          pmBlack – только черные линии,

pmWhite – только белые линии,

pmNop – линии не видны на фоне,

pmNot – инверсия фона и т.д..

Компонент Кисть (класс TBrush)

Объекты класса TBrush служат для заполнения внутренего пространства (установки цвета фона и образца заполнения)

  Свойства:

Color:TColor – цвет кисти:

       clAqua (прозрачный), clBlack, clBlue, clDkGray, clFuchsia, clGray, clGreen, clLime (салатовый), clLtGray, clMaroon (каштановый), clNavy (синий), clOlive, clPurple (фиолетовый), clRed, clSilver (серебряный), clTeal, clWhite, clYellow  

Style:TBrushStyle – стиль кисти (образец заполнения), например:

     bsSolid (сплошное), bsClear (отсутствующее), bsHorizontal (горизонтальными линиями), bsVertical (вертикальными линиями), bsFDiagonal (прямыми диагоналями), bsBDiagonal (обратными диагоналями), bsCross (крестиками), bsDiagCross (диагональными крестиками);

BitMap:TBitMap – растровое изображение, которое будет использоваться кистью для заполнения, если свойство определено, то цвет и стиль игнорируются.

Компонент Шрифт (класс TFont)

Объект класса TFont определяет шрифт, которым выводится текст.

Свойства:

Charset:TFontCharSet – набор символов:

       RUSSIANCHARSET – русский, OEM_CHARSET – текст MS DOS;

Name:TFontName – имя шрифта, по умолчанию – MS Sans Serif;

Color:TColor – цвет;

Height:Integer – высота в пикселях;

Size:Integer – высота в пунктах (1/7 дюйма);

Pitch:TFontPitch – способ расположения букв в тексте:

       fpFixed – моноширный текст,

       fpVariable – пропорциональный текст,

       fpDefault – ширина шрифта по умолчанию;

Style:TFontStyle – стиль шрифта – комбинация из:

       fsBold – полужирный, fsItalic – курсив, fsUnderline – подчеркнутый,

       fsStrikeOut – перечеркнутый.










Последнее изменение этой страницы: 2018-04-12; просмотров: 194.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...