Печатать книгуПечатать книгу

Приложение к главе 4

Сайт: Профильное обучение
Курс: Информатика. 11 класс (Повышенный уровень)
Книга: Приложение к главе 4
Напечатано:: Гость
Дата: Четверг, 2 Май 2024, 16:51

Работа с графикой на канве

Свойство Pen (карандаш) позволяет определять цвет, толщину и стиль линий.

Основные свойства класса TРеn

Свойство

Назначение

Color

Цвет карандаша

Style 

Стиль линии определяет, будет ли она сплошной или пунктирной.

Width

Толщина линии в пикселях

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


Свойство
Brush  (кисть) предназначено для заполнения областей заданным шаблоном. Кисть обладает свойствами Color, Style.

Свойство Font (шрифт) позволяет определять свойства текущего шрифта.

Некоторые свойства класса TFont

Name

Название шрифта, под которым он зарегистрирован в Windows, например Times New Roman, Courier и прочие

Size

Высота шрифта в пикселях

Style

Стиль шрифта. Возможные значения: fsBold (полужирный); fsltalic (курсив); fsUnderline (подчеркнутый); fsStrikeOut (зачеркнутый)

Color

Цвет

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

Краткое описание методов класса TCanvas

Arc(x1,y1,х2,y2,х3,y3,х4,y4);

Рисование части эллипса

Chord(x1,y1,x2,y2,x3,y3,x4,y4);

Рисуется замкнутая фигура (сегмент), созданная пересечением эллипса и отрезка прямой линии (хорды)

Ellipse(x1, y1, х2, y2);

Рисуется эллипс

FloodFill(x,y,Color,FillStyle);

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

LineTo(x, y);

Рисует линию отточки, определенной свойством PenPos до точки, указанной в качестве параметра

MoveTo(x, y);

Устанавливает текущую позицию графического курсора в точку, заданную в параметрах метода

Pie(x1,y2,x2,y2,x3,y3,x4,y4);

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

Polygon(Points: array of TPoint);

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

Polyline(Points: array of TPoint)

Метод аналогичен предыдущему, но заполнения внутренней части фигуры не происходит

Rectangle (x1, y1,x2,y2);

Рисуется прямоугольник, внутренняя область которого заполняется в соответствии со значением свойства Brush

RoundRect( x1, y1,x2,y2,x3,y3);

Рисуется прямоугольник со скругленными углами. Параметры x3, y3 определяют ширину и высоту эллипса для скругления углов

TextOut(x,y,Text);

Вывод строки в конкретную позицию холста

Рассмотрим подробнее методы, отличные от аналогичных процедур в PascalABC.

Метод Ellipse рисует эллипс, в котором точки (x1, y1) и (x2, y2) определяют прямоугольник, описывающий эллипс.

Методы Arc, Chord и Pie имеют одинаковые параметры. Точки (x1, y1) и (x2, y2) определяют прямоугольник, описывающий эллипс, в котором строится дуга, сегмент или сектор. Начальная точка дуги, сегмента или сектора определяется пересечением эллипса с прямой, проходящей через его центр и точку (x3, y3). Конечная точка дуги, сегмента или сектора определяется пересечением эллипса с прямой, проходящей через его центр и точку (x4, y4). Рисование происходит от начальной точки до конечной против часовой стрелки. Примеры построения дуги, сегмента, сектора и параметры соответствующих методов.

Метод FloodFill заполняет замкнутую область на канве, содержащую внутри себя точку с координатами x, y. Граница области заливки определяется сочетанием параметров Color и FillStyle. Если для параметра Fillstyle определить значение fsBorder, то команда будет работать так же, как и аналогичная команда в среде BP. Будет закрашена область, ограниченная цветом Color. Если для параметра Fillstyle определить значение fsSurface, то цвет Color заменится, а другие цвета внутри области останутся неизменными. Цвет и стиль, которым будет производиться заливка, определяются свойствами Brush.

Параметры функции FormatDateTime

Функция FormatDateTime позволяет осуществлять различное форматирование при выводе даты и времени. Дата и время преобразуются в строку. Форматирование строки определяется первым параметром функции, который задает формат (Formatting). Форматируемая строка  может включать как обычные символы (которые передаются неизменными в строку результата), так и  символы форматирования данных. Вторым параметром может быть: Data(), Time(), Now().

Символы форматирования дат

Действие

y

Год из 2-х последних цифр

yy

Год из 2-х последних цифр

yyyy

Год из 4-х цифр

m

Номер месяца без 0

mm

Номер месяца как 2 цифры

mmm

Месяц используя ShortDayNames (Янв)

mmmm

Месяц используя LongDayNames (Январь)

d

Число без 0

dd

Число как 2 цифры

ddd

Число используя ShortDayNames (Воск)

dddd

Число используя LongDayNames (Воскресенье)

ddddd

Число в ShortDateFormat

dddddd

Число в LongDateFormat

Пример: вызов функции FormatDateTime("ddd, ddddd", Date()) выведет дату в таком виде: «Пн, 19.04.2021».

Символы форматирования времени

Действие

h

Час без 0

hh

Час как 2 цифры

n

Минуты без 0

nn

Минуты как 2 цифры

s

Секунды без 0

ss

Секунды как 2 цифры

z

Миллисекунды без 0

zzz

Миллисекунды как 2 цифры

t

Используя ShortTimeFormat

tt

Используя LongTimeFormat

Пример: вызов функции FormatDateTime("hh:nn:ss", Time()) выведет время в таком виде: «21:47:03». Этот вызов эквивалентен вызову FormatDateTime("tt", Time()).

Символы форматирования даты и времени

Действие

c

Используя ShortDateFormat + LongTimeFormat

am/pm

Используется после h : выдает 12 часов + am/pm

a/p

Используется после h : выдает 12 часов + a/p

ampm

Как a/p, но выводятся только числовые значения (буквы a/p не дописываются)

Пример: вызов функции FormatDateTime("с", Now()) выведет дату и время в таком виде: «19.04.2021 21:56:33», вызов функции FormatDateTime("dddd, hh:mm am/pm", Now()) выведет дату и время в таком виде: «понедельник, 10:08 pm».

Параметры свойства Options компонента StringGrid

Все нижепредставленные свойства имеют логический тип и принимают значения true или false.

Свойство

Описание

goFixedVertLine

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

goFixedHorzLine

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

goVertLine

Вертикальные разделительные линии между всеми ячейками

goHorzLine

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

goRangeSelect

Включение режима выделения диапазона ячеек таблицы

goDrawFocusSelected

Дает возможность закрашивания ячейки с фокусом

goRowSizing

Дает возможность менять высоту строк с помощью мыши

goColSizing

Дает возможность менять ширину столбцов с помощью мыши

goRowMoving

Дает возможность перемещать строку с помощью мыши

goColMoving

Дает возможность перемещать столбец с помощью мыши

goEditing

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

goTabs

Управляет режимом перехода табуляцией: при true фокус будет смещаться на следующую ячейку, при false — на следующий компонент

goRowSelect

Дает возможность выделять всю строку с «фокусированной» ячейкой

goAlwaysShowEditor

Если true содержимое ячейки при фокусе сразу будет доступно редактированию, а при false — сначала нужно щёлкнуть по ячейке мышкой

goThumbTracking

Мышкой будет вызываться немедленное перемещение ячеек, а при false — ячейки будут перемещаться только при отпускании скрола