Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ИП 2010-04-04 doc.doc
Скачиваний:
108
Добавлен:
13.05.2015
Размер:
5.96 Mб
Скачать

Глава 10. Графические средства

10.1. Общая информация

Графические средства представлены методами и свойствами объектов и отдельными ActiveX‑элементами (объектами)MSChart(п.10.5). Существует шесть методов:Line(линия),Circle(окружности, дуги, сегменты),Pset(вывод точки),Point (x,y) (возвращение RGB-цвета точки с координатами X,Y, если точка за пределами формы, то возвращается ‑1),PaintPicture(рисование из другого объекта управления),Cls(очистка области вывода).

Объектами графики могут быть формы, графические окна и Printer. Имя объекта предшествует имени метода. Если имя объекта не указано, то предполагается текущая активная форма.

Форма должна иметь свойство автоматической перерисовки AutoDraw=True (п. 6.1).

Перечислим свойства объекта, влияющие на изображение точек и линий: DrawMode(вариант взаимодействия цвета границ объектов),DrawStyle(шаблон для рисования границ),DrawWidth(толщина линии),FillColor(цвет заполнения объекта),FillStyle(шаблон для заполнения объ­екта),ForeColor(цвет границы объекта),AutoRedraw (восстановление ри­сунка после того, как форма была свернута или заслонена другим окном).

После окончания выполнения любого графического метода автоматически запоминаются координаты последней выведенной точки (x,y) в свойствах CurrentX, CurrentYобъекта соответственно.

У всех методов имеется не обязательный параметр (типа Long), указывающий на цвет выводимой точки или линии. Обычно он задается функциями QBColor(n) или RGB(r,g,b) (п. 3.7).

Необязательный параметр Step в методе означает, что начальные координаты графического метода даются в виде смещения (относительно значений свойств CurrentX, СurrentY объекта).

10.2. Отображение точки ‑ pSet, Point

Метод <объект>.PSet [Step] (x, y), [<цвет>]выводит точку (x,y).

Метод <объект>.Point (x, y)возвращает RGB-цвет точки (x,y) или число ‑1, если точка вне объекта.

Пример. Вывести разноцветные точки при щелчке по форме.

Sub Form_Click () ‘процедура обработки щелчка по форме

Dim CX, CY, Msg, XPos, YPos ' объявление переменных

ScaleMode = 3 ‘единица измерения ‑ пиксель

DrawWidth = 5 ' размер точки ‑ 5 пикселей

ForeColor = QBColor(4) ' установка красного цвета для вывода точек

FontSize = 24 ' средний размер шрифта

CX = ScaleWidth / 2 ' определение горизонтальной середины формы

CY = ScaleHeight / 2 ' определение вертикальной середины формы

Cls ‘очистка

Msg = ”Счастливого Нового Года!” ‘текст сообщения

CurrentX = CX ‑ TextWidth(Msg) / 2 ' установка горизонтальной позиции

CurrentY = CY ‑ TextHeight(Msg) ' установка вертикальной позиции

Print Msg 'вывод сообщения с установленной позиции

Do ‘начало цикла вывода точек

XPos = Rnd * ScaleWidth 'получить случайную горизонтальную позицию

YPos = Rnd * ScaleHeight 'получить случайную вертикальную позицию

PSet (XPos, YPos), QBColor(Rnd * 15) ‘вывод точки случайного цвета

Loop 'конец тела цикла

End Sub

10.3. Отображение отрезка и прямоугольника ‑ Line

Метод <объект>.Line [Step] (x1,y1)‑[Step] (x2, y2), <цвет>[, B][F]вы­­водит отрезок с координатами (x1,y1), (x2,y2) или выводит прямо­уголь­ник с диагональю (x1,y1), (x2,y2), если указан параметр “B” (F – закра­ши­ва­ние пря­моуголь­ника).

Пример. Вывести разноцветные прямоугольники.

Private Sub Form_Click() ‘процедура обработки щелчка по форме

Dim CX, CY, F, F1, F2 , I ' объявление переменных

ScaleMode = 3 ' единица измерения пиксель

CX = ScaleWidth / 2 ' определение горизонтальной середины формы

CY = ScaleHeight / 2 ' определение вертикальной середины формы

DrawWidth = 8 ' ширина линии ‑ 8 пикселей

For I = 50 To 0 Step ‑2 ‘начало цикла вывода 25 прямоугольников

F = I / 50 ' шаг изменения

F1 = 1 ‑ F: F2 = 1 + F ' изменение координат

ForeColor = QBColor(I Mod 15) ' цвет переднего плана для закраски

Line (CX * F1, CY * F1)-(CX * F2, CY * F2), , BF ‘вывод линии

Next

End Sub