Метод polyline викреслює ламану лінію. Як параметр метод отримує масив типу TPoint. Кожен елемент масиву представляє собою запис, поля х і у якій утримують координати точки перегину ламаної. Метод Polyline викреслює ламану лінію, послідовно з'єднуючи прямими точки, координати яких знаходяться в масиві: першу з другою, другу з третьою, третю з четвертою і т. Д.
Як приклад використання методу Polyline в лістингу 10.3 приведена процедура, яка виводить графік зміни деякої величини. Передбачається, що вихідні дані знаходяться в доступному процедурі масиві Data (тип Integer).
Лістинг 10.3. Графік функції (використання методу Polyline)
procedure TForml.Button1Click (Sender: TObject);
gr: array [1..50] of TPoint; // графік - ламана лінія
x0, y0: integer; // координати точки початку координат
dx, dy: integer; // крок координатної сітки по осях X і Y
// заповнимо масив gr
gr [i] .y: = y0 - Data [i] * dy;
with forml.Canvas do begin
MoveTo (x0, y0); LineTo (x0,10); // вісь Y
MoveTo (x0, y0); LineTo (200, y0); // вісь X
Метод Polyline можна використовувати для креслення замкнутих контурів. Для цього треба, щоб перший і останній елементи масиву містили координати однієї і тієї ж точки. Як приклад використання методу Polybine для креслення замкнутого контуру в лістингу 10.4 приведена програма, яка на поверхні діалогового вікна, в точці натискання кнопки миші, викреслює контур п'ятикутної зірки (рис. 10.5). Колір, яким викреслюється зірка, залежить від того, яка з кнопок миші була натиснута. Процедура обробки натискання кнопки миші (подія MouseDown) викликає процедуру малювання зірки starLine і передає їй як параметр координати точки, в якій була натиснута кнопка. Зірку викреслює процедура starLine, яка в якості параметрів отримує координати центру зірки і полотно, на якому зірка повинна бути виведена. Спочатку обчислюються координати кінців і западин зірки, які записуються в масив р. Потім цей масив передається в якості параметра методу Polyline. При обчисленні координат променів і западин зірки використовуються функції sin і cos. Так як аргумент цих функцій повинен бути виражений в радіанах, то значення кута в градусах домножается на величину pi / 18о, де pi - це стандартна іменована константа рівна числу л.
Лістинг 10.4. Креслення замкнутого контуру (зірки) в точці натискання кнопки миші
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms, Dialogs, StdCtrls;
TForm1 = class (TForm)
procedure FormMouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);