Приложение к главе 4
Сайт: | Профильное обучение |
Курс: | Информатика. 11 класс (Повышенный уровень) |
Книга: | Приложение к главе 4 |
Напечатано:: | Гость |
Дата: | Четверг, 2 Май 2024, 16:51 |
Работа с графикой на канве
Свойство Pen (карандаш) позволяет определять цвет, толщину и стиль линий.
Основные свойства класса TРеn |
|
Свойство |
Назначение |
Color |
Цвет карандаша |
Style |
Стиль линии определяет, будет ли она сплошной или пунктирной. |
Width |
Толщина линии в пикселях |
Свойство Style может принимать значения, указанные в таблице.
Свойство Brush (кисть) предназначено для заполнения областей заданным шаблоном. Кисть обладает свойствами Color, Style.
Некоторые свойства класса 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 — ячейки будут перемещаться только при отпускании скрола |