Задачи курса: 1) Приобретение навыков работы в среде системы визуального программирования Delphi (версия не ниже 0). Создание простейших Приложений

Вид материалаДокументы

Содержание


Таблица 1 Свойства класса TComponent
Таблица 2 Размер и местоположение компонента
Таблица 3 Выравнивание и масштабирование
Таблица 4 Внешний вид
OnClick возникает после события OnMouseDown
Sender. Параметр представляет объект, который получил это событие (т. е. какой компонент в данный момент имеет фокус ввода). Key
Таблица 5Свойства TForm
Таблица 6 Cобытия TForm при создании и отображении формы
Таблица 7 Cобытия TForm при закрытии и уничтожении формы
Font, Pen, Brush.
Таблица 8 Класс TFont
Таблица 9 Класс ТРеn
Таблица 10 Класс TBrush
Таблица 11 Методы TCanvas
Подобный материал:
1   2   3   4   5   6   7

Таблица 1 Свойства класса TComponent

Свойство

Назначение

Name

идентификатор компонента

Tag

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

От класса TControl порождаются все видимые визуальные компонента и наследуют свойства, связанные расположением и внешним видом компонента. Эти свойства можно разбить на несколько групп.

Таблица 2 Размер и местоположение компонента

Свойство

Назначение

Top

местоположение левого верхнего угла компонента по вертикали

Left

местоположение левого верхнего угла компонента по горизонтали

Height

высота компонента

Width

ширина компонента

Таблица 3 Выравнивание и масштабирование

Свойство

Назначение

Align

выравнивание компонента относительно границ родительского компонента

Alignment

выравнивание надписи на компоненте

Anchors

фиксация компонента по сторонам родительского компонента

Constraints

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

AutoSize

логическое свойство, разрешающее или запрещающее автоматическое изменение размеров компонента в соответствии с размером его содержимым

Таблица 4 Внешний вид

Свойство

Назначение

Color

цвет компонента

Cursor

вид курсора при наведении указателя мыши на компонент

Caption

надпись на компоненте

Font

сложное свойство, определяющее тип шрифта надписи

Visible

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

PopupMenu

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

Enabled

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

Hint

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

ShowHint

логическое свойство, разрешающее или запрещающее использование подсказки
    1. События в Delphi

Одна из ключевых целей среды визуального программирования – скрыть от пользователя сложность программирования в Windows. При этом, однако, хочется, чтобы такая среда не была бы упрощена до такой степени, что программисты потеряют доступ к самой операционной системе.

Программирование, ориентированное на события – неотъемлемая черта Windows. Delphi предоставляет полный доступ к подструктуре событий, совершаемых в операционной среде Windows. С другой стороны, Delphi упрощает программирование обработчиков таких событий.

Объекты из библиотеки визуальных компонент (VCL) Delphi, равно как и объекты реального мира, имеют свой набор свойств и свое поведение - набор откликов на события, происходящие с ними. Список событий для данного объекта, на которые он реагирует, можно посмотреть, например, в Инспекторе Объектов на странице событий. (На самом деле, на этой странице представлен список свойств, которые представляют из себя ссылки на процедуры-обработчики событий.) Среди набора событий для различных объектов из VCL есть как события, портируемые из Windows (например, события, которые генерируются мышью или клавиатурой), так и события, порождаемые в результате прогона приложения путем изменения свойств объектов).

Поведение объекта определяется тем, какие обработчики и для каких событий он имеет. Создание приложения в Delphi состоит из настройки свойств используемых объектов и создания обработчиков событий.

Простейшие события, на которые иногда нужно реагировать - это, например, события, связанные с мышкой (они есть практически у всех видимых объектов) или событие OnClick для кнопки TButton. Все события в Delphi принято предварять префиксом on: onCreate, OnMouseMove, OnPaint и так далее. Щелкнув в Инспекторе объектов на странице Events в поле любого события, можно получить в программе заготовку метода нужного типа. При этом его имя будет состоять из имени текущего компонента и имени события (без префикса On), а относиться он будет к текущей форме. Например, обработчик щелчка левой кнопки мыши на форме будет выглядеть так:

procedure TForm1.Button1Click(Sender: TObject);

begin

end;

Поскольку события — это свойства объекта, их значения, можно изменять в любой момент во время выполнения программы. Эта замечательная возможность называется делегированием. Можно в любой момент взять способы реакции на события у одного объекта и присвоить (делегировать) их другому:

Object1.OnMouseMove := Object2.OnMouseMove;

Принцип делегирования позволяет избежать трудоемкого процесса порождения новых дочерних классов для каждого специфического случая, заменяя его простой подстановкой процедур. Можно при необходимости выбирать один из нескольких возможных вариантов обработчиков событий.
    1. Некоторые общие события компонентов

Для большинства видимых визуальных компонентов, т.е. потомков класса TControl, определен набор обработчиков событий, связанных с мышью. Для выполнения какого-либо действия с помощью щелчка левой кнопки мыши для большинства случаев достаточно запрограммировать обработчик событий OnClick, а для реакции на двойной щелчок используется событие OnDbClick. Для более совершенного управления мышью лучше использовать обработчики следующих событий:
  • OnMouseDown. Событие вызывается при нажатии любой кнопки мыши.
  • OnMouseMove. Событие вызывается при перемещении курсора мыши.
  • OnMouseUp. Событие вызывается при отпускании любой кнопки мыши.

Процедуры обработки этих событий получают следующие параметры:
  • Sender. Параметр представляет объект, который получил это событие (т. е. на каком компоненте щелкнули мышью).
  • Button. Параметр имеет одно из трех значений: mbRight, mbLeft, mbMiddle и используется для определения кнопки мыши, которую нажал пользователь.
  • Shift. Множество, которое может содержать следующие элементы: ssShift, ssCtrl, ssAlt, ssLeft, ssRight, ssMiddle, ssDouble. Используется для определения нажатия клавиш , , (или комбинации этих клавиш) в момент щелчка мышью, а также для определения какой кнопкой мыши щелкнул пользователь.
  • X, Y. Координаты указателя мыши в пикселях относительно клиентской области окна с координатами (0,0) в верхнем левом углу.

Необходимо отметить, что событие OnClick возникает после события OnMouseDown, но перед событием OnMouseUp. Событие OnDbClick генерируется после события OnMouseUp.

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


procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

If (Button=mbRight)

then Caption:=IntToStr(X)+’, ’+IntToStr(Y);

end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

Caption:='';

end;

Визуальные компоненты, которые являются потомками класса TWinControl, кроме обработчиков событий, связанных с мышью, также обладают набором обработчиков событий от клавиатуры.
  • OnKeyDown Событие возникает при нажатии любой клавиши клавиатуры.
  • OnKeyUp Событие возникает при отпускании клавиши клавиатуры
  • OnKeyPress Данное событие генерирует после OnKeyDown, но перед OnKeyUp

Процедуры обработки событий OnKeyDown и OnKeyUp получают следующие параметры:
  • Sender. Параметр представляет объект, который получил это событие (т. е. какой компонент в данный момент имеет фокус ввода).
  • Key. Параметр целого типа содержит виртуальный код клавиши, т.е. специальной константы, которая определена для каждой клавиши клавиатуры. Для буквенно-цифровых клавиш виртуальный код совпадает с кодом символа.
  • Shift. Множество, которое может содержать следующие элементы: ssShift, ssCtrl, ssAlt, ssLeft, ssRight, ssMiddle, ssDouble. Используется для определения нажатия клавиш , , (или комбинации этих клавиш), а также для определения какой кнопкой мыши щелкнул пользователь.

Для процедуры обработки события OnKeyPress имеется такой набор параметров.
  • Sender. Параметр представляет объект, который получил это событие (т. е. какой компонент в данный момент имеет фокус ввода).
  • Key. Параметр символьного типа содержит символ, который получается в результате нажатия клавиш клавиатуры.

Таким образом, события OnKeyDown и OnKeyUp перехватывают нажатия большинства клавиш клавиатуры, в то время как событие OnKeyPress позволяет обрабатывать только нажатие буквенно-цифровых клавиш. При этом получаемый символ Key учитывает выбранный язык (раскладку клавиатуры) и нажатую клавишу Shift.

Для потомков класса TWinControl определены события OnEnter и OnExit, которые возникают в момент получения (потери) компонентом фокуса ввода.

Рассмотрим следующий пример использования событий, связанных с клавиатурой. При нажатии комбинации клавиш Shift+А в заголовке формы пишется ‘Ok’. Этого эффекта можно достигнуть двумя способами. Первый способ состоит в создании следующего обработчика


procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

If (Shift=[ssShift]) and (Key=Ord(‘A’)) then Caption:=’Ok’;

end;


Другой способ заключается в использовании события OnKeyPress.


procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

begin

If key='A' then Caption:='Оk';

end;

Однако необходимо заметить, что этот обработчик будет срабатывать только, если выбран английский язык и отключена клавиша Caps Lock, поскольку только в этом случае возможно получить символ А путем нажатия комбинации Shift+А.
    1. Контрольные вопросы
  1. Какие события используются для управления курсором мыши?
  2. Каким образом можно получить координаты курсора мыши на форме?
  3. Как можно определить какая именно клавиша мыши была нажата?
  4. Какие события используются для получения комбинации нажатых или отпущенных клавиш?
  5. Какое событие позволяет определить нажатый символ?
  6. Какие свойства общие для всех компонентов?
  7. Какие визуальные компоненты называют невидимыми?
  8. Какие свойства компонента отвечают за его местоположение на форме?
  9. Каким образом можно изменять свойства компонентов?



  1. Класс TForm
    1. Роль формы в приложении

Классическое приложение Windows обязательно имеет хотя бы одно окно, при этом окно приложения должно уметь выполнять целый ряд важных операций: правильно отображать себя на экране, уметь взаимодействовать с другими окнами и операционной системой, управлять размещенными на нем элементами управления, реагировать на разнообразные события. В среде разработки Delphi понятие окна приложения совмещено с понятием формы.

Формой называется окно приложения на этапе разработки. На этапе разработки окно должно обладать целым рядом ценных свойств, которые обеспечивают процесс программирования и обязаны исчезнуть при запуске приложения. Самые важные из них заключаются в том, что форма умеет взаимодействовать с инструментами среды разработки (Палитрой компонентов, Инспектором объектов и т. д.) и размещенными на ней компонентами. Первое из названных свойств обеспечивается возможностями, унаследованными от базового класса иерархии VCL TComponent. Второе свойство обеспечено механизмами самого класса формы. Кроме этого, форма обеспечивает еще целый ряд удобных и полезных для разработчика функций. Это разметка рабочей области, возможность выравнивания компонентов и т. д. Для хранения каждой формы проекта используются два файла. Файл с расширением dfm хранит описание свойств формы и размещенных на ней компонентов. Для хранения исходного кода класса формы и ее компонентов предназначен файл модуля с расширением раs.

Формы играют исключительно важную роль в процессе создания приложения. Они обеспечивают создание пользовательского интерфейса с одной стороны, и хранение программной логики приложения — с другой. Хотя форма и является потомком класса TComponent, она не присутствует в Палитре компонентов. Для создания новой формы проекта необходимо использовать команду File / New Form из главного меню среды.

С точки зрения исходного кода, любой размещенный на форме компонент представляет собой всего лишь новую переменную объектного типа, объявленную в классе формы. Это объявление осуществляется автоматически в момент размещения компонента на форме. В результате в модуле этой формы сразу же становятся доступными все свойства и методы этих компонентов. Форма, на которой находится компонент, становится его владельцем. Форма, как владелец размещенных на ней компонентов, позволяет эффективно управлять ими на этапе выполнения приложения. Для этого класс формы имеет ряд свойств и методов, которые позволяют получить доступ к любому компоненту. Например, программными средствами можно передавать фокус ввода от одного элемента управления другому; выполнять для всех компонентов или их любого подмножества заданную последовательность действий.

В зависимости от настроек свойств, формы в проекте могут играть разные роли. Форма может быть главной формой проекта. Для этого необходимо, чтобы форма в файле проекта создавалась первой. В этом случае она автоматически появляется при запуске приложения, а ее закрытие приводит к завершению работы всей программы, остальные формы в проекте являются дочерними. Дочерние формы равноправны между собой. Их можно запускать в модальном и в немодальном режиме. Форма в модальном режиме не позволяет передавать фокус управления элементам управления других форм приложения. Это можно сделать только после закрытия формы. Свободное переключение возможно между формами, работающими в немодальном режиме. Также формы в приложении различаются по стилю оформления. Это может быть классическое окно с заголовком, рамкой, системными меню и кнопками или диалог и т. д.

Методы-обработчики формы также играют важную роль при создании приложений. Практика программирования показывает, что практически в каждой форме имеются операции, которые необходимо выполнять при создании, открытии формы и ее закрытии и т.д.
    1. Свойства класса TForm

Одним из предков класса TForm является класс TWinControl, поэтому все свойства этого класса наследуются формой. Приведем свойства, которые являются специфическими для формы.

Таблица 5Свойства TForm

Свойство

Назначение

FormStyle

перечислимое свойство, которое определяет тип окна

FsNormal

обычное окно

FsStayOnTop

окно, остающееся поверх других даже в неактивном состоянии

BorderIcons

сложное свойство, определяющее набор кнопок в заголовке окна. Кнопка закрытия не описана, так как она присутствует всегда при наличии у формы заголовка.

biSystemMenu

для вызова системного меню

biMinimize

для сворачивания окна

biMaximize

для разворачивания окна

biHelp

для вызова помощи

BorderStyle

перечислимое свойство, которое задает тип границы окна

bsNone

Форма представляет собой прямоугольник без рамки, заголовка и системных кнопок в заголовке. Размеры такой формы нельзя изменить без специальных приемов

bsSingle

Стандартное окно без возможности изменения размеров. Набор системных кнопок зависит от свойства BorderIcons

bsSizeable

Значение по умолчанию. Стандартная форма с возможностью изменения размеров. Набор системных кнопок зависит от свойства BorderIcons

bsDialog

Обрамление стандартного диалогового окна. В наборе системных кнопок отсутствуют biSystemMenu, biMinimize и biMaximize

bsToolWindow

Обрамление панели инструментов. Идентично стилю bssingle, но с уменьшенной высотой заголовка и системными элементами

bsSizeToolWin

Обрамление панели инструментов. Идентично стилю bsSizeable, но с уменьшенной высотой заголовка и системными элементами

WindowState

Перечислимое свойство, определяющее состояние окна

wsNormal

нормальное состояние

wsMinimized

свернутое состояние

wsMaximized

развернутое состояние

Icon

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

Menu

свойство определяет текущее главное меню для формы

PopupMenu

свойство определяет текущее всплывающее меню для формы

Position

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

poDesigned

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

poDefault

Принять положение и размеры, определенные средой Windows по умолчанию

poDefaultPosOnly

Принять только положение, определенное средой Windows по умолчанию

poDefaultSizeOnly

Принять только размеры, определенные средой Windows пo умолчанию

poScreenCenter

Поместить окно по центру экрана. В случае наличия нескольких мониторов в системе, форма размещается в центре монитора по умолчанию

poDesktopCenter

Поместить окно по центру рабочего стола (в том числе составленного из нескольких мониторов)

poMainFormCenter

Поместить окно по центру главной формы приложения

poOwnerFormCenter

Поместить окно по центру формы владельца

HorzScrollBar

VertScrollBar

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

AutoScroll

автоматическое размещение полос прокрутки на форме
    1. События формы

При создании и отображении формы происходят пять следующих событий

Таблица 6 Cобытия TForm при создании и отображении формы

Событие

Назначение

OnCreate

Возникает при создании окна, но до его появления на экране. Позволяет распределить ресурсы и провести необходимую инициализацию компонентов и форм.

OnShow

Возникает при появлении окна на экране. К этому времени все компоненты и формы созданы и инициализированы

OnResize

Возникает при изменении размеров окна

OnActivate

Возникает в момент активизации окна (при получении фокуса ввода)

OnPaint

Возникает при необходимости прорисовки окна

Событие OnCreate происходит один раз за все время существования формы, прочие события могут вызываться неоднократно. При закрытии и уничтожении формы также генерируются пять событий.

Таблица 7 Cобытия TForm при закрытии и уничтожении формы

Событие

Назначение

OnCloseQuery

Возникает перед закрытием окна, в ответ на действия, закрывающие окно. Обработчик получает логическую переменную CanClose, определяющую может ли форма быть закрыта.

OnClose

Возникает перед закрытием окна. Параметр Action уточняет необходимые действия: саNоnе – не закрывать окно; caHide – спрятать окно; caFree – уничтожить окно; caMimimize – минимизировать окно

OnDeactivate

Возникает при передаче активности другому окну той же программы

OnHide

Возникает перед исчезновением окна

OnDestroy

Возникает перед уничтожением окна. Обычно используется для освобождения ресурсов, выделенных в OnCreate.

Кроме этих событий, для формы определены события от мыши и клавиатуры, которые класс TForm наследует от своих предков.
    1. Пример использования событий формы

Рассмотрим фрагмент кода, который восстанавливает размеры и положение формы (свойства Top, Left, Width, Height, Caption), сохраненные в файл при предыдущем закрытии. Для этого создадим обработчик события OnCreate, в котором необходимые свойства формы инициализируются значениями из файла.


procedure TForm1.FormCreate(Sender: TObject);

var f: TextFile;

begin

AssignFile(f, ‘myfile.txt’);

If FileExists(f) then

begin Readln(f, IntToStr(Top));

Readln(f, IntToStr(Left));

Readln(f, IntToStr(Width));

Readln(f, IntToStr(Height));

Readln(f, Caption);

end;

end;


При попытке закрытия формы, т.е. при генерации события OnCloseQuery, создается диалоговое окно для подтверждения закрытия окна.


procedure TForm1.FormCloseQuery(Sender: TObject;

var CanClose: Boolean);

begin

If MessageDlg('Exit now?', mtConfirmation, [mbYes, mbNo], 0) = mrYes

then CanClose:=True

else CanClose:=False;

end;


end;


В обработке события закрытия формы OnClose значения необходимых свойств записываются в файл.


procedure TForm1.FormClose(Sender: TObject;

var Action: TCloseAction);

var f: TextFile;

begin

AssignFile(f, ‘myfile.txt’);

WriteLn(f, IntToStr(Top));

WriteLn(f, IntToStr(Left));

WriteLn(f, IntToStr(Width));

WriteLn(f, IntToStr(Height));

WriteLn(f, Caption);

end;
    1. Контрольные вопросы
  1. Какова роль формы в приложении?
  2. Какую форму называют главной? дочерней?
  3. В каком свойстве содержится заголовок формы?
  4. Назовите возможные значения свойства BorderStyle класса TForm. Поясните их смысл.
  5. Для чего используется свойство BorderIcons класса TForm?
  6. На что влияет свойство Formstyle класса TForm?



  1. Графические возможности визуальных компонентов

Большое внимание в Delphi уделено возможностям работы с деловой графикой: простота и удобство ее использования напрямую сказываются на простоте и удобстве созданных приложений. Вместо сложного графического интерфейса Windows разработчик имеет возможность использовать несколько графических инструментов для создания графических изображений. Такими инструментами являются шрифт, перо и кисть (классы TFont, TPen, TBrush), назначением которых является удобный доступ к свойствам инструментов и прозрачная для пользователя обработка всех их изменений.. Эти классы не используются самостоятельно, а являются составными частями класса TCanvas. Класс TCanvas входит в качестве свойства Canvas во многие визуальные компоненты, которые должны уметь нарисовать себя и отобразить какую-либо графическую информацию, при этом свойство Canvas определяет область, куда выводится графическая информация.
    1. Свойства класса TCanvas

Основными свойствами класса TCanvas являются Font, Pen, Brush. Типы этих свойств – классы TFont, TPen, TBrush соответственно.

Класс TFont инкапсулирует шрифт Windows. В Delphi допускаются только горизонтально расположенные шрифты. В конструкторе объекта по умолчанию принимается шрифт System цвета clWindowText и размером 10 пунктов. Приведем некоторые свойства этого класса.

Таблица 8 Класс TFont

Свойство

Назначение

Name

Содержит имя (начертание) шрифта, например, Arial

Style

Содержит стиль (особенности начертания) шрифта

fsBold

жирный

fsItalic

курсив

fsUnderline

подчеркнутый

fsStrikeOut

перечеркнутый

Color

Определяет цвет шрифта

Charset

Содержит номер набора символов шрифта. По умолчанию равно 1 (default_charset). Для вывода символов кириллицы требуется RUSSIAN_CHARSET

Height

Содержит значение высоты шрифта в пикселах

Класс ТРеn инкапсулирует свойства пера стандартного графического интерфейса Windows. В конструкторе по умолчанию создается непрерывное (pssolid) черное перо шириной в один пиксел. Свойства этого класса приведены ниже.

Таблица 9 Класс ТРеn

Свойство

Назначение

Color

Определяет цвет пера

Style

Определяет стиль линии, рисуемой пером.

psSolid

сплошная линия

psDash

пунктирная линия

psDot

точечная линия

psDashDot

точечно-пунктирная линия

psDashDotDot

точечно-пунктирная линия

psClear

прозрачная линия

psInsideFrame




Width

Содержит значение толщины пера в пикселах

Пунктирные и штрихпунктирные линии (стили psDash, psDot, psDashDot, psDashDotDot) могут быть установлены только для линий единичной толщины. Более толстые линии должны быть сплошными — такое ограничение существует в Windows.

Класс TBrush инкапсулирует свойства кисти — инструмента для заливки областей. Когда создается экземпляр этого класса, первоначально создается белая сплошная кисть. Приведем свойства этого класса.

Таблица 10 Класс TBrush

Свойство

Назначение

Color

Определяет цвет кисти

Style

Определяет стиль кисти (фактура закраски)

bsSolid

сплошная заливка

bsClear

прозрачная заливка

bsHorizontal

горизонтальная штриховка

bsVertical

вертикальная штриховка

bsFDiagonal

диагональная штриховка с наклоном вправо

bsBDiagonal

диагональная штриховка с наклоном влево

bsCross

перекрещенная штриховка

bsDiagCross

диагональная перекрещенная штриховка

Для поточечного рисования можно получить доступ к каждому пикселу, используя значение свойства Pixels[X, Y: Integer], которое соответствует цвету точки с координатами X, Y. Необходимость рисовать отдельную точку возникает нередко, но если нужно модифицировать все или хотя бы многие точки изображения, свойство pixels надо сразу отбросить — настолько оно неэффективно.
    1. Методы класса TCanvas

Канва содержит методы-надстройки над всеми основными функциями рисования GDI Windows и свойства, которые приведены ниже в табл. 8.4. При их рассмотрении имейте в виду, что все геометрические фигуры рисуются текущим пером. Те из них, которые можно закрашивать, закрашиваются с помощью текущей кисти. Кисть и перо при этом имеют текущий цвет.

Таблица 11 Методы TCanvas

procedure Arc (XI, Y1, Х2, Y2, Х3, Y3, Х4, Y4: integer);

Метод рисует сегмент эллипса. Эллипс определяется описывающим прямоугольником (Х1, Y1) — (Х2, Y2); его размеры должны лежать в диапазоне от 2 до 32767 точек. Начальная точка сегмента лежит на пересечении эллипса и луча, проведенного из его центра через точку (ХЗ, Y3). Конечная точка сегмента лежит на пересечении эллипса и луча, проведенного из его центра через точку (Х4, Y4). Сегмент рисуется против часовой стрелки.

procedure Chord (XI, Y1, Х2, Y2, ХЗ, Y3, Х4, Y4 : Integer);

Рисует хорду и заливает отсекаемую ею часть

эллипса. Эллипс, начальная и конечная точки

хорды определяются как в методе Arc

procedure Ellipse (XI, Y1, Х2, Y2: Integer);

Рисует и закрашивает эллипс, вписанный в прямоугольник (Х1, Y1) – (Х2, Y2)

procedure LineTo(X, Y: Integer);

Проводит линию текущим пером из текущей точки в (X, Y)

procedure MoveTo(X, Y: Integer);

Перемещает текущее положение пера (свойство PenPos) в точку (X, Y)

procedure FillRect(const Rect: TRect) ;

Производит заливку прямоугольника (текущей кистью)

procedure Pie(XI, Yl, X2, Y2, X3, Y3, X4, Y4: Integer);

Рисует сектор эллипса, описываемого прямоугольником (Х1, Y1) — (X2, Y2). Стороны сектора лежат на лучах, проходящих из центра эллипса через точки (X3, Y3) и (X4, Y4)

procedure Polygon(const Points: array of TPoint);

Строит многоугольник, используя массив координат точек Points. При этом последняя точка соединяется с первой и внутренняя область закрашивается

procedure Polyline(const Points: array of TPoint);

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

procedure Rectangle(X1, Y1,X2, Y2: Integers);

Рисует прямоугольник с верхним левым углом в (Х1, Y1) и нижним правым в (X2, Y2)

Procedure RoundRect(XI, Yl, X2, Y2, X3, Y3: Integers);

Рисует прямоугольник с закругленными углами. Координаты вершин — те же, что и в методе Rectangle. Закругления рисуются как сегменты эллипса с размерами осей по горизонтали и вертикали X3 и Y3

procedure TextOut(X, Y; Integer; const Text: string);

Производит вывод строки Text. Левый верхний угол помещается в точку канвы (X, Y)