Бакалаврская работа на тему
Визуализация контактных преобразований в среде Visual C++ 6.
План.
Глава 1. Создание графического интерфейса.
o Генерация исходного кода.
o Классы и файлы программы.
Глава 2. Использование функций рисования.
o Создание объекта контекста устройства.
o Выбор инструментов рисования.
o Создание инструментов рисования.
Заключение.
Литература и источники.
Тема моей бакалаврской работы – «Визуализация контактных преобразований (в среде Visual C++ 6.0)». Моя программа будет рисовать два эллипса с определёнными аргументами, задаваемыми пользователем через диалоговые окна. Также программа позволяет выводить изображения на принтер и осуществлять предварительный просмотр.Visual C++ 6.0 - это сравнительно новая система программирования, которая снискала уважение и популярность по всему миру. С её помощью легко и удобно писать различные типы программ для Windows. Шестая версия системы стала ещё более модной и удобной и избавляет от большого количества рутинной работы по набивке и копированию стандартных фрагментов подавляющего большинства программ. Безусловно, сердцевиной системы, во многом определяющей её мощь и гибкость , является библиотека классов MFC (Microsoft Foundation Classes – базовые классы Microsoft).
Новый 32-разрядный компилятор Microsoft Visual C++ 6.0 для Windows NT и Windows 95 - одна из составных частей мощного пакета компиляторов Developer Sudio, в который вхолят новейшие версии таких известных программных продуктов, как Visual Basic, Visual J++, Visual FoxPro...
Система программирования Visual C++ - один из наиболее полных и совершенных продуктов, предназначенных для разработки программного обеспечения. Это высокоскоростная и удобная для программирования система, предлагающая широкий набор разнообразных инструментов проектирования для любого стиля программирования.Новые компоненты содержат средства для программирования приложений, улучшенную реализацию ActiveX и Internet, дополнительные возможности разработки баз данных, а также новые архитектуры приложений и элементы взаимодействия между пользователями. Изучение правил применения данной системы программирования (часто очень не простых, на первый взгляд) может вас испугать, как это произошло со мной при первом знакомстве со средой Visual C++.
Глава 1. Создание графического интерфейса.
Для создания моей программы мне потребуется программирование графического интерфейса (GUI- Graphical User Interface). В программах с графическим интерфейсом можно создавать одно и более окон с элементами интерфейса (меню, панели инструментов, строки состояния, списки, полосы прокрутки и тд). Данные программы могут выводить рисунки, растровые изображения и текст с использованием большого набора шрифтов. Я буду создавать свою программу, используя мастер генерации приложений App Wizard и библиотеки MFC.
Существует несколько способов написания программ с графическим интерфейсом с помощью Visual C++. Во-первых – на языке С или С++ с непосредственным обращением к основным функциям Win32 API, которые являются частью операционных систем Windows. При таком подходе требуется написать множество строк программного кода, прежде чем перейти к решению целевой задачи разрабатываемого приложения.
Во-вторых – с помощью библиотеки MFC, содержащей большой набор готовых классов и вспомогательный код для выполнения стандартных задач программирования в среде Windows (например, создания окон и обработки сообщений). Кроме того, MFC используется для быстрого добавления в программы панелей инструментов, многопанельных окон поддержки OLE. Применяется для создания элементов, которые используются программными компонентами и отображаются в Web-браузерах и других приложениях. Использование MFC позволяет упростить программы с графическим интерфейсом, что значительно облегчит процесс программирования. Отметим: функции MFC содержат вызовы функций Win32 API. Говорят, что Win32 API «упакован» в библиотеку MFC, представляющую более высокоуровневые и переносимые средства программного интерфейса. Кроме того, в MFC-программах можно свободно вызывать функции Win32 API, сохраняя возможность использования этого интерфейса.
В-третьих – на языке С++ с использованием библиотеки MFC и различных мастеров. Мастер AppWizard используется для генерации основы исходных файлов программ. Аналогично, мастер AppWizard генерирует основную часть кода для определения производных классов и обработчиков сообщений, настройки библиотеки MFC, управления диалоговыми окнами, а также выполнения других задач. Заметьте: возможности мастеров не ограничиваются генерацией простых оболочек программ. Они позволяют создавать программы с большим набором сложных компонентов. К таковым относятся панели инструментов, строки состояния, контекстная справка, объекты OLE, средства доступа к базам данных и даже законченные меню с частично или полностью функционирующими командами открытия и сохранения файлов, печати, предварительного просмотра печати и выполнения других задач. После генерации основного кода программы с помощью мастера добавьте собственный код, определяющий логику работы программы
Преимущество третьего подхода состоит в использовании не только уже написанного кода MFC, но и сгенерированного исходного кода, позволяющего решить многие рутинные задачи программирования. Библиотека MFC и матера освобождают нас от необходимости создавать средства визуального интерфейса вручную и обеспечивают соответствие этого интерфейса требованиям MicroSoft.
Генерация исходного кода.
Для генерации программы с помощью AppWizard создаётся новый проект необходимого типа. Затем в последовательности диалоговых окон, отображаемых мастером, задаются требуемые характеристики программы. Запускаем Developer Studio и выполняем следующие шаги:
1) Выбираем в меню File команду New. В результате отобразится
диалоговое окно New.
2) Открываем вкладку Projects (если она не отображена), чтобы можно было создать новый проект.
3) В списке типов проекта выбираем “MFC AppWizard(Exe)”. Это приведёт к тому, что мастер AppWizard сначала предложит ввести необходимую информацию, а затем создаст основу кода MFC-программы.
4) Вводим имя Ellipse в поле Project Name. Visual C++ присвоит новому проекту и связанной с ним рабочей области имя Ellipse.
5) В поле Location задаём путь к папке с файлами, т.е. к каталогу проекта. Можно принять стандартный каталог, указанный в этом поле. Стандартному каталогу присваивается то же имя, что и рабочей области – Ellipse.
6) Чтобы завершить работу с вкладкой Projects диалогового окна New, убедитесь, что в поле Platforms отмечен пункт Win32. До тех пор, пока не будет установлена версия Visual C++ со средствами кросс-платформенной разработки, Win32 останется единственной опцией в этой области.
7) Щелкаем на кнопке ОК в диалоговом окне. Отобразится первое из диалоговых окон мастера AppWizard, помеченное “MFC AppWizard – Step 1”. В параметрах мастера AppWizard, выбираемых по умолчанию, будет указано стандартное значение.
8) В диалоговом окне выбираем тип приложения Single Document, отмечаем стандартный параметр Document/View Architecture Support и задаём поддержку английского языка. Выбор типа приложения Single Document определяет то, что AppWizard генерирует приложения с однооконным интерфейсом (Single Document Interface – SDI), отображающее единственное окно документа. Задание параметра Document/View Architecture Support приведёт к тому, что мастер
AppWizard сгенерирует отдельные классы для хранения и отображения данных программы, а также код для чтения и записи данных на диске. Щёлкаем Next для перехода к следующему диалоговому окну.
9) Чтобы исключить из программы поддержку баз данных, в диалоговом окне выбираем пункт None. Щёлкаем Next для перехода к следующему диалоговому окну.
10) В диалоговом окне выбираем пункт None чтобы исключить из программы поддержку составных документов. Убираем опцию Automation, чтобы устранить поддержку автоматизации. Щелкаем Next, чтобы перейти к следующему диалоговому окну.
11) В диалоговом окне выбираем поддержку печати (Printing and Print preview), панель инструментов (Docking toolbar), строку состояния (Initial status bar)и поддержку помощи (Context-sensitive Help), а также 3D controls. Щёлкаем Next, чтобы перейти к следующему диалоговому окну.
12) Чтобы сгенерировать для программы традиционный пользовательский интерфейс библиотеки MFC, в диалоговом окне мастера выбираем установку стиля проекта “MFC Standart”. Чтобы мастер включил комментарии в генерируемые исходные файлы, выбираем установку “Yes,Please”. Комментарии поясняют назначение кода и определяют места, в которые программист должен добавить собственный код. Наконец выбираем вариант связи библиотеки MFC “As a staticaly linked library”. При этой установке код переносится прямо в исполняемый файл. Щёлкаем на Next, чтобы отобразить следующее диалоговое окно.
13) Это диалоговое окно отображает информацию по каждому из четырёх главных классов, созданных для программы мастером. Не изменяем эту информацию. Щелкаем Finish
14) Диалоговое окно New Project Information позволяет подытожить
сделанный ранее выбор характеристик программы. Щелкаем ОК, и мастер создаст указанный каталог проекта, сгенерирует исходные файлы программы и откроет вновь созданный проект Ellipse.
Классы и файлы программы.
Программу Ellipse будем называть приложением с однооконным интерфейсом(SDI). Это означает, что в данный момент времени в ней может отображаться только один документ. Когда мастер создаёт приложение SDI, он порождает четыре главных класса: