Графические элементы управления




В Visual Basic существует три объекта управления, используемых для создания графических эффектов в приложении:

· Объект управления «Образ» (Image);

· Объект типа «фигура»(Shape) служит для создания простых фигур, включая прямоугольники и круги;

· Объект типа «линия» (Line) служит для создания линий.

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

· получается менее объемная программа;

· объекты используют минимум системных ресурсов.

 

Объект управления типа «линия»

Объект Line внешне представляет собой отрезок прямой. Свойства линии, такие как стиль, цвет, толщина и координаты начальной и конечной точек, можно изменить с помощью окна свойств. Линию можно перемещать по поверхности формы обычным способом с помощью мыши и изменять ее размеры, перемещая один из ее концов.

Объект управления типа «фигура»

Объект управления типа «фигура» или Shape может применять вид ряда предопределенных фигур:

· Прямоугольника (с прямыми или закругленными углами);

· Квадрата (с прямыми или закругленными углами);

· Овала;

· Круга.

Фигурой по умолчанию является прямоугольник, другие же доступные типы фигур могут быть установлены с помощью окна свойств Shape.

· Цвет и пропорции фигуры устанавливаются в окне свойств.

· Если выбран круг, то самый большой круг, который может быть вписан в прямоугольник, ограничивающий форму;

· Круги не могут растягиваться в овалы.

Объект типа «фигура» имеет многие свойства, как и другие объекты, например Name, Left ( самая левая координата ), Top (с амая правая координата ), Height ( высота ), Width ( ширина )

 

Упражнение 4. Работас графическими элементами управления

1. Добавьте к проекту форму. Присвойте ей имя frmShapeLine, а свойству Caption = «Графические элементы управления».

2. На панели элементов управления выберите элемент Линия (Line).

3. Установив курсор мыши в левый нижний угол формы, нажмите левую кнопку мыши и, не отпуская ее, установите курсор в верхний правый угол формы. Отпустите кнопку. На форме появится изображение линии. В окне свойств линии установите значение свойств BorderStyle =5 и BorderColor – красный.

4. Выполняя аналогичные действия, нарисуйте линию, проходящую из верхнего левого угла формы в правый нижний. В окне свойств линии установите свойства значение свойств BorderWidth =8 и BorderColor – зеленый.

5. На панели элементов управления выберите графический элемент управления Shape. Последовательно устанавливая свойство Shape, установите на форме шесть стандартных контуров (прямоугольник, квадрат, овал, круг, прямоугольник и квадрат со скругленными углами). Прямоугольнику установите свойство BorderStyle =2, квадрату - 3, овалу – 5, кругу – 1, Прямоугольнику со скругленными углами установите свойство BackStyle = 1, BackColor = серый. Квадрату со скругленными углами свойство BorderStyle установите равным 1, BackStyle=1, а BackColor - желтый.

6. Сделайте форму загружаемой и запустите проект. Результат работы проекта имеет вид примерно как на рис. 16.

 

 

Свойства FillStyle (Cтиль заполнения) и BorderStyle (Стиль границы) используются для установки стиля заполнения и стиля границы любого контура, нарисованного на форме.

Свойство BackColor (Цвет фона) и FillColor (Цвет заполнения) позволяют добавить цвета к контуру и его границе и устанавливаются в окне свойств выбором из доступной палитры или системных цветов.

 

Графические методы

Графические методы, перечисленные в табл. 3, применимы к формам и графическим окнам.

Таблица 3.

Графические методы

Метод Описание
Cls Стирает всю графику и вывод методом Print
Pset Устанавливает цвет индивидуального пикселя
Point Возвращает значение цвета заданной точки
Line Рисует линию, прямоугольник или заполненный прямоугольник
Circle Рисует окружность, эллипс или дугу окружности
PaintPicture Рисует графику в произвольном месте
Print Отображает строковые данные

 

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

Каждый графический метод работает на форме, в графическом окне или графическом объекте Printer. Чтобы адресовать вывод следует перед именем графического метода задать имя формы или графического окна. Если имя объекта не задано, предполагается, что надо рисовать на форме, к которой присоединен код. Например, следующие операторы рисуют точку:

· На форме с именем MyForm

MyForm.Pset (500, 500)

· На графическом окне с именем picPicture 1

picPicture1.Pset(500, 500)

· На текущей форме

Pset (500, 500).

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

 

Свойства CurrentX и CurrentY

Основным понятием при рисовании является текущая (current) точка. VB позволяет рисовать фигуры без указания начальной точки. Если начальная точка линии не указана, то ею становится текущая точка после того, как линия проведена, текущей становится ее конечная точка. Свойства CurrentX и CurrentY устанавливают или считывают координаты текущей точки в единицах текущей системы координат. Чтобы отобразить на форме строку с конкретными координатами, нужно установить их в свойства CurrentX и CurrentY, а затем использовать метод Print для отображения строки.

Рисование линий

Метод рисования линий, называемый Line, имеет следующий синтаксис:

 

Line[step] (X1,Y1) – [step] (X2,Y2), [color],[b] [f]

 

Аргументы в координатных скобках являются необязательными. Начальная точка линии имеет координаты Х 1 и Y 1, конечная – Х 2, Y 2. Следующий оператор демонстрирует простейший способ использования этого метода.

 

Line (X1, Y1) – (X2,Y2)

 

Координаты конечной точки линии выражаются в единицах системы координат элемента. Толщина линии задается свойством DrawWidth, а стиль – DrawStyle.

Установка цвета

Цвет рисунка задается установкой свойства ForeColor формы или элемента PictureBox. В месте с тем можно рисовать цветными линиями, задавая значения (необязательного) аргумента color, используемого методами Line и Circle (последний рассматривается далее). Операторы, демонстрирующие использование этого аргумента, показаны ниже.

 

Line (10,10) – (100,100), RGB(255,0,0)

Line (10,10) – (100,100), &HOOOOFF

Line (10,10) – (100,100), QBColor(3)

RedColor# = RGB(255,0,0)

Line (10,10) – (100,100), RedColor#

 

Во всех примерах прочерчивается красная линия из точки с координатами (10,10) в точку (100,100), независимо от установок свойства ForeColor. В качестве аргумента color метода можно использовать любое выражение, устанавливающее корректное значение цвета (colorexpression). Обычно цвет линии определяется установкой свойства ForeColor элемента, однако для текущей линии аргумент color метода Line преобладает над свойством ForeColor. Если вы нарисуете другую линию, не задав аргумент color, то ее цвет будет соответствовать установке свойства ForeColor элемента. Таким образом, при отсутствии параметра цвета, он будет совпадать со значением свойства ForeColor объекта.

Как видно из примеров, параметр color (цвет) – это выражение, значением которого является число типа Long, которым в VB кодируется тот или иной цвет. В качестве выражения может использоваться:

· функция RGB;

· функция QBColor.

· число типа Long;

· одна из восьми констант VB, представленных в таблице 4.

 

Таблица 4.

Кодировка цвета

Цвет Константа Числовое значение
     
Черный vbBlack  
Красный vbRed  
Зеленый vbGreen  
Желтый vbYellow  
Синий vbBlue  
Сиреневый vbMagenta  

 

 

Продолжение таблицы 4.

     
Голубой vbCyan  
Белый vbWhite  

 

Значения констант таблицы 4, являющихся длинным целым числом, можно представить в виде суммы трех слагаемых: R + 256∙ G + 2562В, где каждая из переменных (R, G и В) принимает одно из двух значений – 0 или 255.

Если переменным R, G и В присвоить другие целочисленные значения от 0 до 255, например: R = 64, G = 128 и В = 192, при этом указанная сумма будет отличаться от значений в табл. 4, а обозначаемый этой суммой цвет – от приведённых в таблице цветов.

Значение функции RGB (R, G, В) – это и есть значение указанной суммы, имеющее тип Long (длинное целое число).

Очевидно, что количество значений, которые может принимать функция RGB, равно 2563. Именно такое количество различных цветовых оттенков могут использовать графические методы Visual Basic.

Каждый оттенок представляет собой смесь трёх цветов: красного (Red), зелёного (Green) и синего (Blue). Значение переменной R – это доля красного цвета в этой смеси, значение переменной G – доля зелёного цвета, а значение переменной В – доля синего цвета. Если все три значения одинаковы, цвета нейтрализуют друг друга, тогда получается чёрный, серый или белый цвет. Чем меньше значение переменных, тем цвет ближе к чёрному, чем больше значение, тем цвет ближе к белому.

Если же значения R, G и В не совпадают, то получаются оттенки самых разных цветов. Например, если R = 0, а G = В, получается голубой цвет (Cyan); если G = 0, а R = В, получается сиреневый цвет (Magenta),если же В = 0, а R = G, получается жёлтый цвет (Yellow). Все эти цвета будут более яркими, если ненулевые значения ближе к 255, и будут приближаться к чёрному, если ненулевые значения приближаются к 0.

Кроме перечисленных способов задания цвета, в VB есть ещё один – с помощью функции QBColor, единственным аргументом которой является целое число С, а значением – код цвета[4]. Названия этих цветов приведены в таблице 5. В скобках указаны константы VB, которым соответствуют некоторые из них.


Таблица 5.

Кодирование цвета с помощью функции QBColor

Цвет С
Чёрный (vbBlack)  
Тёмно-синий  
Тёмно-зелёный  
Тёмно-голубой  
Тёмно-красный  
Тёмно-сиреневый  
Коричневый  
Светло-серый  
Темно-серый  
Синий (vbBlue)  
Зеленый (vbGreen)  
Голубой (vbCyan)  
Красный (vbRed)  
Сиреневый (vbMagenta)  
Желтый (vbYellow)  
Белый (vbWhite)  

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-07-22 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: