Выбрать главу

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

В самом методе можно задавать многие атрибуты рисуемой фигуры (этот способ бьет остальные).

Поговорим об этом подробнее.

Свойства объектов, влияющие на графические методы

Поэкспериментируйте со следующими свойствами (сначала в режиме проектирования, а затем в режиме работы):

Свойство ∙ Смысл

DrawWidth ∙ Толщина линии

ForeColor ∙ Цвет линии

DrawStyle ∙ Стиль линии (сплошная, штриховая и т. п.). Предварительно сделайте толщину = 1.

FillStyle ∙ Стиль (узор) заливки и будет ли заливка.

FillColor ∙ Цвет заливки

AutoRedraw ∙ Определяет, будут ли автоматически восстанавливаться графика и напечатанный текст, случайно стертые из-за того, что объект скрылся из вида.

DrawMode ∙ Способ наложения краски. По умолчанию = 13 (Сору Реп), когда краска плотно накладывается и предыдущая картинка через нее не просвечивает. При других значениях новая краска меняет свой цвет или сложно взаимодействует со старой и иногда получается любопытный и полезный результат.

Пример:

PSet (1000, 2000) 'точка — тонкая, черная

Circle (4000, 2000), 1000 'окружность — тонкая, черная

DrawWidth = 20 'меняем толщину линий

ForeColor = RGB(230, 250, 100) 'меняем цвет линий

PSet (1000, 5000) 'точка — толстая, цветная

Circle (4000, 5000), 1000 'окружность — толстая, цветная

Задание 61: В режиме работы нарисуйте снеговика и сделайте на нем надпись шрифтом Times — >

А теперь рассмотрим подробнее графические методы.

Метод Pset

До этого я использовал методы, указывая минимальное число параметров. Теперь я хочу показать все важные параметры, которые можно указывать в методах.

Метод ∙ Результат

PSet (1000, 2000) ∙ Рисуется точка с координатами х=1000, у=2000. Цвет точки определяется свойством ForeColor

PSet (1000, 2000), vbRed ∙ Рисуется красная точка

Параметры метода могут быть выражениями, например:

PSet (х+200, у), RGB(5+а, 90, 80) + 100

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

Синтаксис метода PSet:

PSet (х, у), цвет

Здесь все параметры, включая цвет — числовые выражения.

В этой и следующих синтаксических схемах я по возможности воздержусь от квадратных скобок, указывающих на необязательность параметра, иначе схемы будут ими перенасыщены. Также я не буду указывать объект — владелец метода. Также не буду указывать и отложу немного объяснение параметра Step.

Метод Line

Вот объяснение на примерах:

Метод ∙ Результат

Line (2000, 1000)-(5000, 3000) ∙ Отрезок прямой между точкой с координатами (2000, 1000) и точкой с координатами (5000, 3000).

Line (2000, 1000)-(5000, 3000), vbRed ∙ Отрезок красного цвета

Line (2000, 1000)-(5000, 3000), vbRed,В ∙ Прямоугольник красного цвета

Line (2000, 1000)-(5000, 3000), vbRed,BF ∙ Прямоугольник красного цвета, залитый этим же цветом

Line (2000, 1000)-(5000, 3000),B ∙ Прямоугольник. Цвет его определяется свойством ForeColor, так как в операторе там, где должен быть указан цвет, стоит пустота

Нет смысла и запрещено писать одну букву F вместо В или BF.

Заливку можно сделать двумя способами:

Поставив букву F, тогда заливка будет тем же цветом, что и линия.

Не ставя букву F, тогда заливка определяется свойствами FillStyle и FillColor.

Обратите внимание на две стоящие рядом запятые в последнем примере. Это вполне понятный стиль Visual Basic — если в списке необязательных параметров какой-то параметр пропускается, то запятые нужно указывать все равно, а то будет непонятно, какой по порядку параметр вы указали правее.

Синтаксис метода Line:

Line (x1, y1) — (х2, у2), цвет, В | BF

Здесь все параметры, включая цвет — числовые выражения.

Вертикальная черта | означает "или". Имеется в виду, что в этом месте оператора вы можете поставить или В или BF.

Метод Circle

Вот объяснение на примерах:

Метод ∙ Результат

Circle(4000,2000),1000 ∙ Окружность с центром в точке с координатами (4000, 2000) и радиусом 1000