Программирование графики в Microsoft Visual Basic

Характеристика интегрированной среды разработки Microsoft Visual Basic. Особенности создания приложений средствами данной программы. Построение изображений с применением графических примитивов и указателем мыши. Выбор цвета с использованием ListBox.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 23.02.2016
Размер файла 567,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ ИНСТИТУТ ИМЕНИ М. Е. ЕВСЕВЬЕВА»

Физико-математический факультет

Кафедра информатики и вычислительной техники

КУРСОВАЯ РАБОТА

ПРОГРАММИРОВАНИЕ ГРАФИКИ В MICROSOFT VISUAL BASIC

Автор: Д. С. Тарасов

Руководитель:

О. Н. Шалина,

Саранск 2015

Содержание

Введение

1. Объектно-ориентированное программирование

1.1 Объектно-ориентированное программирование в Microsoft Visual Basic

1.2 Интегрированная среда разработки Microsoft Visual Basic. Особенности создания приложений средствами Microsoft Visual Basic

1.3 Вывод графического изображения на форму

2. Особенности редактирования графических данных в Microsoft Visual Basic

2.1 Построение изображений указателем мыши в Microsoft Visual Basic

2.2 Построение изображений с использованием графических примитивов

2.3 Выбор цвета с использованием ListBox

Заключение

Список использованных источников

Введение

Microsoft Visual Basic (VB) - это система программирования, предназначенная для написания программ, работающих под управлением операционной системы Windows. Она представляет собой интегрированную среду разработки, которая содержит набор инструментов, облегчающих и ускоряющих процесс разработки приложений.

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

VB является удобным средством для создания различного рода приложений с понятным интерфейсом. Одной из распространённых задач пользователя персонального компьютера является работа с графическими данными, в том числе создание графических изображений с использованием примитивов в соответствующих программных средах. В связи с этим тема, связанная с программированием графики в Microsoft Visual Basic вляется актуальной.

Целью курсовой работы является изучение особенностей программирования графики в Microsoft Visual Basic.

Объект исследования - интегрированная среда разработки Microsoft Visual Basic.

Предмет исследования - графические возможности Microsoft Visual Basic.

Задачами курсовой работы являются:

- рассмотреть основы объектно - ориентированного программирования;

- ознакомиться с интегрированной средой разработки Microsoft Visual Basic;

- освоить особенности создания приложений средствами Microsoft Visual Basic;

- ознакомиться с выводом графического изображения на форму;

- охарактеризовать особенности редактирования графических данных в Microsoft Visual Basic;

- реализовать построение изображений указателем мыши в Microsoft Visual Basic;

- реализовать построение изображений с использованием графических примитивов;

- реализовать выбора цвета с использованием элемента ListBox;

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

1. Объектно-ориентированное программирование

1.1 Объектно-ориентированное программирование в Microsoft Visual Basic

Объектно-ориентированное программирование - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

Существующие парадигмы программирования.

Для начала, введем понятие самой парадигмы, после этого рассмотрим все существующие парадигмы программирования.

Парадигма программирования - это совокупность идей и понятий, определяющая стиль написания программ.

Выделяют следующие парадигмы в программировании: директивное (структурное), объектно-ориентированное и декларативное (функционально-логическое).

Структурное программирование

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

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

Функциональное и логическое программирование

Функциональное программирование основано на математическом понятии функции, которая не изменяет свое окружение; это отличие функционального программирования от функций в структурных языках. Функциональная программа состоит из совокупности определений функций, которые в свою очередь представляют собой вызовы других функций и предложений, управляющих последовательностью вызовов. Каждая функция возвращает некоторое значение в вызвавшую его функцию, вычисление которой после этого продолжается; этот процесс повторяется до тех пор, пока не будет достигнут результат [8, с.25].

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

Объектно-ориентированное программирование (ООП)

Особое внимание уделяется данным, которые представляются в программе в виде объектов. Объекты взаимодействуют между собой с помощью механизма передачи сообщений. Задача программиста - реализовать такие объекты, при взаимодействии которых можно будет получать желаемый результат.

ООП в Microsoft Visual Basic

В Microsoft Visual Basic программа состоит из объектов, взаимодействующих друг с другом. Объекты создаются по шаблонам, называемым классами. Сами объекты называются экземплярами классов. Классы можно программировать на любом языке.

Класс - это пользовательский тип, обладающий расширенными возможностями. Объект - это переменная пользовательского типа.

Классы содержат в себе процедуры и функции, которые применимы к переменным данного класса. Эти процедуры и функции называются методами [8, с.30].

Основными свойствами ООП являются инкапсуляция, наследование и полиморфизм.

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

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

Наследование это важнейший механизм, позволяющий одному классу повторять структуру и поведение другого класса. С помощью наследования решается ряд важных задач программирования, среди которых одна из основных - это задача устранения дублирования кода [8, с.35].

С наследованием тесно связано понятие полиморфизма, сущность ко-торого проявляется в способности объекта принимать различные формы. В рамки объектно-ориентированного подхода удачно вписывается концепция визуального программирования. Все визуальные составляющие, такие как формы, элементы управления, меню и панели инструментов являются объектами со своими свойствами и методами. [18, c.19].

1.2 Интегрированная среда разработки Microsoft Visual Basic. Особенности создания приложений средствами Microsoft Visual Basic

Visual Basic представляет собой интегрированную среду разработки, которая содержит набор инструментов, облегчающих и ускоряющих процесс разработки приложений. Причем процесс разработки заключается не в написании программы (программного кода), а в проектировании приложения. Приложение формируется средствами графического редактирования (компоновки), что позволяет свести процесс создания программного кода к минимуму.

Visual Basic IDI (Integrated Development Environment - интегрированная среда разработки) - это набор меню, панелей, инструментов и окон, в совокупности образующих рабочее место программиста. Это среда, в которой разрабатываются приложения.

Компоненты IDI:

1. Главное меню (рис.1):

Рисунок 1 - Панель главного меню (рис.1):

2. Панели инструментов (рис. 2):

Рисунок 2 - окно панеля инструментов

- Отладка (Debug) - используется для тестирования программ и исправления ошибок (рис.3):

Рисунок 3 - Окно отладки

- Правка (Edit) -используется при работе с программным кодом (рис.4):

Рисунок 4 - Окно правки

- Панель элементов управления (ToolBox) (рис.5):

Рисунок 5 - Окно панеля элементов

- Окно свойств - в нём отражаются различные атрибуты (свойства) выделенных объектов. В левом перечислены названия свойств, а в правом значения. Имеется 2 закладки сортировки этих свойств по алфавиту или по категории (рис.6). Вызов - F4 или Просмотр / Свойства окна.

Рисунок 6 - Окно свойств

- Окно просмотра объекта - в нем отображаются свойства, события и методы объектов, постовляемых с VB или создаваемых программистом (рис.7).

Вызов - F2 или Просмотр / Окно Просмотра Объекта или кнопка на.

Рисунок 7 - Окно просмотра объекта

- Окно формы - представляет собой контейнер для элементов управления формы (Активизация формы -Просмотр / Объект или Shift+F7) (рис.8):

Рисунок 8 - Окно формы

- Окно кода программы - служит для ввода и редактирования кода программы, который разделяется на процедуры, связанные с определёнными элементами управления. (двойной щелчок мыши на форме или Просмотр / Код) (рис.9):

Рисунок 9 - Окно кода программы

Приложение, создаваемое в среде Visual Basic, называется проектом. Программный проект -- это совокупность частей, составляющих будущее WINDOWS-приложение. Любой проект должен обязательно состоять из экранных форм (хотя бы одной) и программных модулей (хотя бы одного). Visual Basic хранит каждый проект в отдельном файле с расширением vbp [15, с.25].

Экранная форма - это графическое представление WINDOWS-приложения вместе с содержанием этого окна (рис. 11). Содержание включает в себя:

- совокупность свойств этого окна с их значениями;

- совокупность, объектов, находящихся в этом окне;

- совокупность свойств этих объектов с их значениями.

В Visual Basic экранная форма хранится в отдельном файле с расширением frm (рис.10):

Рисунок 10 - Окно экранной формы

Программный код проекта (рис.11) существует не сам по себе, он привязан к отдельным объектам экранной формы. Часть кода, которая относится только к одному объекту, в свою очередь может состоять из нескольких фрагментов-процедур.

В Visual Basic программный код почти всегда привязывается к какому-либо событию, которое является сигналом к началу работы программы. Например, щелчок мыши по какому-либо объекту экранной формы; загрузка новой экранной формы; перемещение указателя мыши вдоль полосы прокрутки; нажатие какой-либо клавиши на клавиатуре.

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

Рисунок 11 - Окно пустого программного кода проекта

Событие - это характеристика класса объекта, описывающая внешнее воздействие, на которое реагирует объект этого класса во время работы приложения.

Большинство процедур, из которых состоит программный код VB, привязаны к событиям и называются процедурами-событиями [18, с.75].

Создание приложений в Visual Basic

При создании приложения для просмотра рисунков, первым шагом является создание проекта приложения Windows Forms.

Для того чтобы Создать проект приложения Windows Forms, необходимо:

1. В меню Файл выберите команду Создать проект;

2. Если не используется срочную версии Visual Studio, выберите Visual C# или Visual Basic в списке Установленные шаблоны;

3. Выберите Значок Приложение Windows Forms, назовите форму PictureViewer, а затем нажмите кнопку ОК; Visual Studio создает решение.

4. В меню Файл выберите команду Сохранить все;

Visual Studio автоматически заполняет имя папки и имя проекта, а затем сохраняет проект в папке проекта;

5. Убедитесь, что проект сохраняется в папке в папке Мои документы, убедитесь, что флажок Создать каталог для решения установлен, а затем нажмите кнопку Сохранить;

6. Можно заметить, что решение и проект слов имеют различные значения. Эти ключевые слова будут описаны дальше в данном руководстве;

7. На следующем рисунке показан интерфейс Visual Studio;

8. Окно интегрированной среды разработки (рис.10);

9. Интерфейс содержит 3 окна: главное окно Обозреватель решений, и окно Свойства;

10. Если любое из этих окон отсутствует, восстановите макет окон по умолчанию, выбрав в строке меню Окно, Сброс макета окон. Возможно также отображение окон с помощью команд меню. В строке меню выберите Вид, Окно свойств или Обозреватель решений. Если какие-либо другие окна открыты, закройте их с помощью кнопки Закрыть (x) в их верхнем правом углу [10, с.98].

1.3 Вывод графического изображения на форму

Для того чтобы вывести графическое изображение в окне формы необходимо в созданном средствами Visual Studio приложении WindowsApplication вставить в класс формы строку this.

Методы, определенные в классе Graphics, требуют, указания положения или область для вывода графического объекта. Для передачи методам подобной информации в пространстве имен System. Drawing предусмотрены типы Point, Rectangle, Region и Size.

· Point используется для передачи координат (х, у);

· Rectangle определяет координаты двух точек, которые будут восприняты как верхний левый и нижний правый углы прямоугольника;

· Тип Size определяет размер прямоугольной области в каком-либо измерении (то есть используется для указания высоты или ширины);

· Тип Region необходим для работы с непрямоугольными областями;

· Внутренние переменные, используемые для хранения данных в Point, Rectangle и Size, являются целочисленными (то есть относятся к типу int). Если же возникла необходимость указывать координаты или размеры при помощи значений с плавающей запятой (тип float), то можно использовать типы PointF, RectangleF и SizeF [9, с.64];

Таблица 1 - Члены типа Point (PointF)

Член

Назначение

X, У

Эти свойства позволяют получать и устанавливать значения координат х и у

IsEmpty

Это свойство возвращает true, если значения х и у равны нулю

Offset( )

Этот метод позволяет произвести смещение точки относительно исходной позиции

Таблица 2 - Члены классов Rectangle и RectangleF

Член

Назначение

!=, = =

Перегруженные операторы, позволяющие сравнивать два прямоугольника

Inflate( ), Intersect( ), Union( )

Эти статические методы позволяют увеличивать размеры прямоугольника и создавать новые прямоугольники путем разделения или объединения существующих.

Тор, Left, Bottom, Right,

Эти свойства устанавливают измерения прямоугольника

Height, Width

Эти свойства определяют высоту и ширину прямоугольника

Contains()

Этот метод позволяет определить, попадает ли точка с указанными координатами (или другой прямоугольник) внутрь области, занимаемой прямоугольником

X, Y

Определяют координаты x и у верхнего левого угла прямоугольника

Класс Region

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

Таблица 3 - Члены класса Region

Член

Назначение

Complement()

Дополняет объект Region другими графическими объектами, которые не пересекаются с исходным объектом Region

Exclude()

Исключает область, занимаемую другим графическим объектом, из области объекта Region

Intersect()

Перегружен. Уменьшает область, занимаемую исходным объектом Region, до области наложения друг на друга исходного и указанного пользователем объектов Region

GetBounds()

Возвращает объект класса RectangleF, представляющий прямоугольник, в который точно вписана область, занимаемая объектом Region

IsEmpty(), MakeEmpty()

Позволяют определить, имеет ли область, занимаемая данным объектом Region, нулевой размер, или установить нулевой размер для области Region

IsInfinite(), MakeInfinite()

Позволяют определить, является ли область, занимаемая объектом Region, бесконечной, или установить бесконечный размер для данной области

Translate()

Сдвигает координаты объекта Region на указанную пользователем величину

Union()

Объединяет указанный объект Region с другим графическим объектом

Хог()

Объединяет указанный объект Region с другим графическим объектом, исключая при этом область пересечения этих двух объектов

Вывод графических объектов без события Paint

Бывает так, что вывод графического объекта необходимо произвести не в стандартных ситуациях, то есть не когда возникает событие Paint, а в ответ на другие события. Например, вывести маленький кружок в том месте, где на форме был сделан щелчок мышью. Первое, необходимо получить объект Graphics, а затем выполнить с этим объектом необходимые манипуляции. Объект Graphics можно получить при помощи метода Graphics. FromHwnd(). Обратите внимание, что единственный параметр, передаваемый этому методу, -- это значение свойства Handle. Свойство Handle, определено в классе Control и наследуется всеми классами, производными от Control [9, с.68]..

При любой перерисовке формы все кружки, выведенные на форме после щелчков мышью, исчезнут. Чтобы информация о графических объектах сохранялась и использовалась при перерисовке формы самый простой способ -- создать внутреннюю коллекцию (например, ArrayList) и помещать туда нужные объекты. Затем к этой коллекции будет обращаться метод OnPaint().

Возможности класса Graphics

Наиболее часто используемые методы этого класса представлены в таблице.

Таблица 4 - Некоторые методы класса Graphics

Метод

Назначение

FromHdc(), FromHwnd(), FromImage()

Эти статические методы обеспечивают возможность получения объекта Graphics из элемента управления или изображения

Clear()

Заполняет объект Graphics выбранным пользователем цветом, удаляя его предыдущее содержимое

DrawArc()

Этот метод предназначен для вывода дуги.

DrawEllipse()

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

DrawLine()

Рисует линию

DrawPie()

Рисует сектор

DrawPolygon( )

Рисует замкнутую произвольную область

DrawRectange()

Рисует прямоугольник

DrawString()

Выводит строку

FillElllpse()

Рисует закрашенный эллипс

FillPie()

Рисует закрашенный сектор

FillPolygon()

Рисует закрашенную криволинейную замкнутую область

FillRectangle()

Рисует закрашенный прямоугольник

Класс Pen

Pen - класс пера, имеющий два основных атрибута: цвет и ширину.

Таблица 5 - Свойства класса Реn

Свойство

Назначение

Color

Определяет цвет создаваемых объектом Реn линий

CustomStartCap, CustomEndCap

Позволяют получить или установить стиль «наконечника» пера, который будет показан в начале линии (StartCap) и в конце линии (EndCap)

DashCap

Позволяет получить или установить стиль «наконечника» для перьев, рисующих пунктирные линии

DashOffset

Устанавливает смещение начала пунктира относительно исходной точки пунктирной линии

DashStyle

Позволяет получить или установить стиль для пунктирных линий, создаваемых при помощи данного объекта Реn

LineJoin

Позволяет получить или установить стиль объединения при пересечении двух линий, выводимых данным объектом Реn

Width

Позволяет получить или установить ширину данного пера

Кроме класса Реn в GDI+ также можно использовать коллекцию заранее определенных перьев (коллекция Pens). При помощи статических свойств коллекции Pens можно мгновенно получить уже готовое перо, без необходимости создавать его вручную. Однако все типы Реn, которые создаются при помощи коллекции Pens, имеют одну и ту же одинаковую ширину, равную 1. Чтобы установить перо для вывода линий определенного стиля необходимо подключить в начале кода using System.Drawing.Drawing2D; затем создавая перо [9,с.79].

2. Особенности редактирования графических данных в Microsoft Visual Basic

2.1 Построение изображений указателем мыши в Microsoft Visual Basic

Приведём пример, в котором демонстрируется рисование указателем мыши на форме, то есть задача состоит в том, чтобы написать программу, позволяющую при нажатой левой или правой кнопке мыши рисовать в форме. Если пользователь отпустит кнопку мыши, то рисование прекращается. В проектируемой форме следует предусмотреть кнопку «Стереть», предназначенную для очистки формы.

Вначале необходимо создать форму с командной кнопкой, как мы это делали прежде. Для этого запускаем Visual Basic и в окне Создать проект выбираем шаблон Приложение Windows Form для Visual Basic. Для того чтобы создать кнопку Button, делаем следующее: Вид - Панель элементов - Button (перетащил на форму). Далее переходим в программный код и введем соответствующий текст, представленный ниже:

Public Class Form1

Dim Рисовать_ли As Boolean

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Me.Text = "Рисую мышью в форме"

Button1.Text = "Стереть"

Рисовать_ли = False ' в начале - не рисовать

End Sub

Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles MyBase.MouseDown

' Если нажата кнопка мыши - MouseDown, то рисовать

Рисовать_ли = True

End Sub

Private Sub Form1_MouseUp(sender As Object, e As MouseEventArgs) Handles MyBase.MouseUp

' Если кнопку мыши отпустили, то НЕ рисовать

Рисовать_ли = False

End Sub

Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles MyBase.MouseMove

' Рисование прямоугольника, если нажата кнопка мыши

If Рисовать_ли = True Then

' Рисовать прямоугольник в точке (e.X, e.Y)

Dim Графика = CreateGraphics()

Графика.FillRectangle(New SolidBrush(Color.Red), e.X, e.Y, 10, 10)

' 10x10 пикселов - размер сплошного прямоугольника

' e.X, e.Y - координаты указателя мыши

Графика.Dispose() ' Эквивалент C++: delete Графика

End If

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

' Методы очистки формы:

Dim Графика = CreateGraphics()

Графика.Clear(Me.BackColor)

' Графика.Clear(SystemColors.Control1)

' Графика.Clear(Color.FromName("Control"))

' Графика.Clear(Color.FromKnownColor(KnownColor.Control))

' Графика.Clear(ColorTranslator.FromHtml("#FOFOFO"))

' Me.Refresh() ' Этот метод также перерисовывает форму

End Sub

End Class

В начале программы объявляем переменную Рисовать_ли логического типа (Boolean) со значением False. Эта переменная либо позволяет (Рисовать_ли = True) рисовать в форме при перемещении мыши (событие MouseMove), либо не разрешает делать это (Рисовать_ли = False). Область действия переменной Рисовать_ли - весь класс Form1, т.е. изменить или выяснить ее значение можно в любой процедуре этого класса [9, с.130].

Значение переменной Рисовать_ли может изменить либо событие MouseUp (кнопку мыши отпустили, рисовать нельзя, Рисовать_ли = False), либо событие MouseDown (кнопку мыши нажали, рисовать можно, Рисовать_ли = True). При перемещении мыши с нажатой кнопкой программа создает графический объект Graphics пространства имен System.Drawing, используя метод Create Graphics(), и рисует прямоугольник FillRectangle() размером 10X10 пикселов, заполненный красным цветом . e.X, e.Y - координаты указателя мыши, которые также являются координатами левого верхнего угла прямоугольника.

На рисунке 12 Приведен пример рисования в форме. Чтобы стереть все нарисованное в форме, следует нажать кнопку «Стереть». При этом вызывается метод Refresh(), предназначенный для перерисовывания формы.

Рисунок 12 - Окно рисования указателем мыши в форме

В комментариях приведены варианты реализации очистки формы от всего нарисованного на ней пользователем. Например, путем создания графического объекта Create Graphics() и закрашивание формы в ее первоначальный цвет KnownColor.Control [9,с.135].

Можно заметить, что можно было бы очистить область рисования более короткой командой Clear (Color.White), т.е. закрасить форму белым цветом (White), либо выбрать другой цвет из списка 146 цветов после ввода оператора “точка” (.) за словом Color. Однако ни один из 146 цветов не является первоначальным цветом формы (BackColor). Поэтому задаем этот цвет через другие константы цвета, представленные в перечислении Color.FromKnownColor. Также можно задать цвет как Color.FromName (“Control”). Можно использовать функцию перевода 16-ричного кода цвета ColorTranslator.FromHtml(). Оба эти варианта также представлены в комментарии. Цвет #FOFOFO является 16-ричным представлением нужного мне цвета. интегрированный приложение графический примитив

Очистить форму от всего нарисованного на ней можно нажав на кнопку в форме «Стереть». Рисовать в форме можно как левой, так и правой кнопками мыши[9,с.130].

2.2 Построение изображений с использованием графических примитивов

В векторных чертежах графическим примитивом называют элементарные составляющие чертежа: отрезок, дуга, символ, окружность и др. Здесь имеем дело с растровой графикой, но в данном случае подход тот же - по координатам рисуем те же фигуры. Система координат такая: начало координат - это левый верхний угол формы, ось Ox направлена вправо, а Oy - вниз. Задача состоит в том, чтобы рисовать в форме: окружность, отрезок, прямоугольник, сектор, текст, эллипс и закрашенный сектор. Выбор того или иного графического примитива осуществить через элемент управления ListBox. Для решения этой задачи создаем форму и перетаскиваем в нее из Панеля элементов элемент управления ListBox. Далее - двойной щелчок в пределах формы, где в пустом обработчике события Form1_Load создаем список графических примитивов, заполняя коллекцию (Items) элементов списка ListBox1 [9, с.118]..

Далее переходим в программный код и вводим соответствующий текст, представленный ниже:

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles MyBase.Load

ListBox1.Items.AddRange(New Object() {"Окружность", "Отрезок",

"Прямоугольник", "Сектор", "Текст",

"Эллипс", "Закрашенный сектор"})

' Font = New Font("Times New Roman", 14)

Me.Text = "Выбери графический примитив"

End Sub

Private Sub ListBox1_Click(ByVal sender As Object,

ByVal e As System.EventArgs) Handles ListBox1.Click

' Создание графического объекта

Dim graph As Graphics = MyBase.CreateGraphics

' Создание пера для рисования им фигур

Dim pen1 As New Pen(Color.Red)

' Создание кисти для "закрашивания" фигур

Dim brush1 As New SolidBrush(Color.Red)

' Очистка области рисунка путем ее окрашивания в

' первоначальный цвет формы graph.Clear(Color.FromName("Control"))

' graph.Clear(ColorTranslator.FromHtml("#EFEBDE"))

Select Case ListBox1.SelectedIndex

Case 0 ' -- выбрана окружность:

graph.DrawEllipse(pen1, 50, 50, 150, 150)

Case 1 ' -- выбран отрезок:

graph.DrawLine(pen1, 50, 50, 200, 200)

Case 2 ' -- выбран прямоугольник:

graph.DrawRectangle(pen1, 50, 30, 150, 180)

Case 3 ' -- выбран сектор:

graph.DrawPie(pen1, 40, 50, 200, 200, 180, 225)

Case 4 ' -- выбран текст:

Dim s As String

s = "Каждый во что-то верит, но" &

vbCrLf & " жизнь преподносит сюрпризы."

graph.DrawString(s, Font, brush1, 10, 100)

Case 5 ' -- выбран эллипс:

graph.DrawEllipse(pen1, 30, 30, 150, 200)

Case 6 ' -- выбран закрашенный сектор:

graph.FillPie(brush1, 20, 50, 150, 150, 0, 45)

End Select

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

' Методы очистки формы:

Dim Графика = CreateGraphics()

Графика.Clear(Me.BackColor)

' Графика.Clear(SystemColors.Control1)

' Графика.Clear(Color.FromName("Control"))

' Графика.Clear(Color.FromKnownColor(KnownColor.Control))

' Графика.Clear(ColorTranslator.FromHtml("#FOFOFO"))

' Me.Refresh() ' Этот метод также перерисовывает форму

End Sub

End Class

В программе, обрабатывая событие Click по выбранному элементу списка, создаю: графический объект graph, перо pen1 для рисования им фигур, кисть brush1 для "закрашивания" ею фигур. Далее очищаем область рисования путем окрашивания формы в первоначальный цвет "Control" или #EFEBDE (как записано в комментарии), используя метод Clear() объекта graph: graph.Clear(Color.FromName("Control")) Процедура окрашивания формы в какой-либо цвет выглядела бы менее громоздко, если бы использоваи какую-либо константу, означающую цвет, например, White или любую другую из списка 146 констант цвета. Тогда бы написали:

graph.Clear(Color.White) В таком случае пришлось бы при инициализации переменных при загрузке формы задать другой цвет формы:

Me.BackColor = System.Drawing.Color.White Однако хотелось бы, чтобы цвет формы оставался первоначальным - "Control". Кстати, этот цвет можно назвать цветом Microsoft: это цвет Windows Explorer, Internet Explorer и пр. После очистки формы, используя свойство SelectIndex, которое указывает на номер выбранного пользователем элемента списка (от 0 до 6), рисуем выбранную фигуру. На рисунке 13 представлен фрагмент работы программы [9, с.124].

Рис.13 - Окно рисования графического примитива на форме

2.3 Выбор цвета с использованием ListBox

В этом примере поставили задачу написать программу, которая меняет цвет фона формы BackColor, перебирая константы цвета, предусмотренные в Visual Basic, с помощью элемента управления ListBox. Для этого запускаем Visual Basic и в окне Создать проект выбираем шаблон Приложение Windows Form для Visual Basic. Для того чтобы создать кнопку ListBox, делаем следующее: Вид - Панель элементов - ListBox (перетаскиваем на форму). Далее переходим в программный код и вводим соответствующий текст, представленный ниже:

Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

' Получаем массив строк имен цветов из перечисления KnownColor

' Enum. GetNames возвращает массив имен констант

' в указанном перечислении.

' Удаление всех элементов из коллекции:

ListBox1.Items.Clear()

' Добавляем имена всех цветов в список ListBox1:

For Each Цвет In [Enum].GetNames(GetType(KnownColor))

If Цвет <> "Transparent" Then ListBox1.Items.Add(Цвет)

' Цвет Transparent является "прозрачным"

' Сортируем все цвета в списке в алфавитном порядке:

ListBox1.Sorted = True

Next

End Sub

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged

' Обработка события изменения выбранного

' индекса в списке ListBox1:

Me.BackColor = Color.FromName(ListBox1.Text)

' Надпись в строке заголовка формы:

Me.Text = "Цвет: " + ListBox1.Text

End Sub

End Class

Как видно из программного кода, при обработке события загрузки формы, используя метод Enum.GetNames, получаем массив имен цветов в строковом представлении. Теперь этот массив легко добавить в список (коллекцию) ListBox методом AddRange. Далее видим форму и заполненные строки элемента управления ListBox цветами из перечисления KnownColor. Обрабатывая событие изменения выбранного индекса в списке ListBox , предпоследней строкой назначаем выбранный цвет формы (BackColor). Один из цветов перечисления KnownColor - цвет Control (“умалчиваемый” цвет формы), который является базовым цветом во многих программах Microsoft, в том числе Windows Explorer, Internet Explorer, Visual Studio и прочее. Кроме того, здесь цветов больше, чем в константах цветов (структуре) Color (в структуре Color нет цвета Control). Один из цветов - Transporent - является “прозрачным”, и для фона формы он не поддерживается. Поэтому если пользователь выберет этот цвет, то произойдет выход из процедуры (Return), и цвет формы не изменится. На рисунке 14 приведён пример работы программы. Здесь выбираем цвет Control, который соответствует цвету формы по умолчанию [9, с.119].

Рисунок 14 - Окно закраски формы выбранным цветом.

Заключение

Visual Studio содержит подключенную и расширенную интегрированную среду разработки с инновационными функциями для повышения производительности разработчика.

Visual Basic (VB) - это среда разработки программ, которая позволяет быстро и легко создавать приложения (прикладные программы) для Windows. В нее включено все, что необходимо для создания, модификации, тестирования, корректирования и компиляции программ. Visual Basic - это полноценный язык программирования высокого уровня.

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

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

Далее было рассмотрено вывод графического изображения на форму. В этом разделе при помощи типов: Point, Rectangle и RectangleF, Region, Graphics, Pen можно создать нужную фигуру.

Также были рассмотрены особенности редактирования графических данных в Microsoft Visual Basic, а именно: Построение изображений указателем мыши, в котором при нажатии левой или правой кнопки мыши и соответственно при нажатии средней кнопки мыши, можно нарисовать изображение, но если при рисовании отпустить кнопку мыши, то рисование прекратится.

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

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

Программа, описанная в курсовой работе, разработана в соответствии с поставленными задачами. Тестирование подтвердило, что программа кор-ректно выполняет обработку и демонстрацию результатов.

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

Таким образом, по завершении работы были достигнуты все необходимые цели и решены поставленные задачи.

Список использованных источников

1. Берков, Н. А. Программирование на Visual Basic : учебн. пособие / Н. А. Берков. - М. : МГИУ, 2011. - 152 с.

2. Браун, С. Visual Basiс : учебный курс / С. Браунс. - СПБ. : Питер, 2001. - 576 с.

3. Браун, С. Visual Basic с самого начала : учебн. курс / С. Браун. - СПб. : Питер, 2012. - 672 с.

4. Вонг, У. Visual Basic. NET для чайников : учебн. пособие / У. Вонг. - Диалектика, 2003. - 336 с.

5. Воронцов, С. И. Microsoft Visual Basic 5.0: ActiveX, DLL, Internet и другие : учебн. пособие / С. И. Воронцов, И. А. Храмов. - М. : Солон, - 1998. - 301 с.

6. Долженков, В. Visual Basic .NET : учебный курс / В. Долженков, М. Мозговой. - СПб. : Питер, 2003. - 464 с.

7. Дукин, А. Н. Самоучитель Visual Basic 2010 : учебн. пособие / А. Н. Дукин, А. А. Пожидаев. - СПб. : Питер, 2010. - 560 с.

8. Зиборов, В. В. Visual Basic 2012 на примерах : учебн. пособие / В. В. Зиборов. - Питер : БХВ-Петербург, 2013. - 448 с.

9. Крейг, Дж. К. Microsoft Visual Basic 6.0. Мастерская разработчика : учебн. пособие / Дж. К. Крейг, Дж. Уэбб. - Пер. с англ. - М. : Русская Редакция, 1998. - 648 с.

10. Киселева, А. А. Основы программирования и моделирования в Visual Basic : учебн.-метод. пособие / А. А. Киселева. - Новокузнецк : МОУ ДПО ИПК, 2005. - 115 с.

11. Клейтон, В. Visual Basic. NET. Полное руководство : учебн. пособие / В. Клейтон. - М. : АСТ, 2004. - 370 с.

12. Климов, А. Занимательное программирование на Visual Basic. NET : учебн. пособие / А. Климов. - Питер : БХВ-Петербург, 2011. - 568 с.

13. Колесов, А. Среда разработки Visual Studio .NET / А. Колесов // BYTE / Россия. 2009. - № 8. - с. 366.

14. Коннелл, Д. Разработка элементов управления Microsoft. NET на Microsoft Visual Basic. NET : учебн. пособие / Д. Коннел.- М. : Русская Редакция, 2011. - 232 с.

15. Культин, Н. Visual Basic. Основой на примерах : учебе. Пособие / Н. Культин. - Питер : БХВ-Петербург, 2010. - 232 с.

16. Лукин, С.Н. Понятно о Visual Basic. NET. Самоучитель : учебн. пособие / С. Н. Лукин. - М. : Диалог-МИФИ, 2009. - 288 с.

17. Макдональд, М. Microsoft Visual Basic. NET: рецепты программирования : учебн. пособие / М. Макдональд. - М. : Русская Редакция, 2004. - 704 с.

18. Фомин, Г. В. Двуязычная компиляция из MSDN Visual Studio : учебн. -метод. пособие предназначено для проведения занятий по курсам информатики на физическом факультете ЮФУ / Г. В. Фомин.

19. Марчуков, А. В. Работа в Microsoft Visual Studio [Электронный ресурс] : учебн. пособие / А. В. Марчуков, А. О. Савельев. - Интернет университет информационных технологий, 2009. - 332 с.

20. Оформление текстовых и графических материалов при подготовке дипломных проектов, курсовых и письменных экзаменационных работ (требования ЕСКД) : учеб. пособие для нач. проф. образования / А. П. Ганенко, Ю. [и др]. - М. : Центр «Академия», 2000.

21. Петцольд, Ч. Программирование для Microsoft Windows на Microsoft Visual Basic. NET : учебн. пособие / Ч. Петцольд. - М. : Русская Редакция, 2012. - 568 с.

22. Рамел, Д. Visual Basic. Net. Справочник программиста : учебн. пособие / Л. Рамел. - М. : Русская Редакция, 2003. -- 720 с.

23. Трусов, М. А. Visua lBasic. NET. Практическое руководство для начинающего программиста : учебн. пособие / М. А. Трусов. - М. : НТ Пресс, 2012. - 898 с.

24. Фокселл, Д. Освой самостоятельно Visual Basic. NET за 24 часа : учебн. пособие / Д. Фокселл - Вильямс, 2012. - 998 с.

25. Ченнел, М. Разработка приложений на Microsoft Visual Basic 6.0 : учебн. пособие / М. Ченнел. - Трейдинг Лимитед, 2000. - 400 с.

26. Шакин, В. Н. Базовые средства программирования на Visual Basic в среде Visual Studio. Net : учебн. пособие / В.Н. Шакин. - М.: Форум: НИЦ ИНФРА-М, 2015. - 304 с.

27. Шафрин, Ю. А. Информационные технологии: часть 1:Основы информатики и информационных технологий : учебн. пособие / Ю.А. Шафрин. - М. : Лаборатория Базовых Знаний, 2000. - 320 с.

Размещено на Allbest.ru


Подобные документы

  • Принципы визуального программирования. Создание программы, генерирующей звук через определенные промежутки времени. Visual Basic как средство разработки прототипов программы, для разработки приложений баз данных и компонентного способа создания программ.

    лабораторная работа [1,1 M], добавлен 10.12.2014

  • Общая характеристика, достоинства и недостатки среды разработки приложений Microsoft Visual Basic. Структура программы для редактирования изображений, аппаратные и программные средства ее создания и эксплуатации. Описание объектов и их взаимодействия.

    курсовая работа [3,9 M], добавлен 26.12.2012

  • Язык программирования Visual Basic: краткая история возникновения, значение и общая характеристика. Изучение основных свойств Visual Basic, синтаксис языка. Обзор ключевых операторов Visual Basic, пользовательские процедуры и функции данного языка.

    контрольная работа [36,4 K], добавлен 23.07.2014

  • Рождение и развитие Basic. Краткое описание Visual Basic for Applications. Новые возможности Visual Basic 5.0. Пример взаимодействия Excel и Visual Basic. Программирование табличных функций. Встраивание, применение функций. Формы, средства управления OLE.

    реферат [20,7 K], добавлен 11.03.2010

  • Написание тестирующей программы для проверки знаний учащихся с помощью языка программирования Visual Basic for Applications (VBA), встроенного в пакет Microsoft Office. Общие сведения о программе, условия ее выполнения, настройка, проверка, выполнение.

    контрольная работа [25,2 K], добавлен 07.06.2010

  • Решение экономических задач с помощью Microsoft Excel и инструментария Visual Basic For Application. Способы запуска редактора Visual Basic, правила его синтаксиса. Создание автоматических макросов по сортировке и выборке. Создание управляющих кнопок.

    курсовая работа [852,0 K], добавлен 24.09.2010

  • Редактор Visual Basic в интерпретации Microsoft - интегрированная среда проектирования (IDE). Средства и инструменты, необходимые программисту для разработки и создания приложений. Характеристика основных возможностей редактора. Запись и запуск макроса.

    презентация [531,2 K], добавлен 26.10.2011

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

    практическая работа [460,6 K], добавлен 22.01.2013

  • Понятие объектно-ориентированного программирования, общая характеристика языков высокого уровня. Разработка программного обеспечения для реализации компьютерной игры "пинбол" с помощью императивного программирования в среде Microsoft Visual Basic.

    курсовая работа [428,9 K], добавлен 19.09.2012

  • Программный проект Баз данных средствами Visual Basic 6.0. Проектирование структуры таблицы базы данных Visual Basic 6.0. Заполнение созданных таблиц БД исходными данными. Создание пользовательского меню. Вид формы и свойства элементов управления.

    курсовая работа [3,0 M], добавлен 19.06.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.