Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634840)
Контекстум
Руконтекст антиплагиат система

Программирование в Visual C++ с использованием библиотеки MFC (290,00 руб.)

0   0
Первый авторВасильчиков В. В.
АвторыЯросл. гос. ун-т
ИздательствоЯрГУ
Страниц236
ID200109
АннотацияРассмотрены основные моменты разработки Windows-приложений в среде Visual С++ с использованием библиотеки MFC. Рекомендуется студентам, обучающимся по специальности 010503 Математическое обеспечение и администрирование информационных систем (дисциплина "Программирование в среде Windows" (курс по выбору), блок ОПД), очной формы обучения. Библиогр.: 4 назв.
Кем рекомендованоНаучно-методическим советом университета для студентов специальности Математическое обеспечение и администрирование информационных систем
ISBN978-5-8397-0463-6
УДК004.4
ББКЗ973.2-018я73
Васильчиков, В. В. Программирование в Visual C++ с использованием библиотеки MFC : учеб. пособие / Яросл. гос. ун-т; В. В. Васильчиков .— Ярославль : ЯрГУ, 2006 .— 236 с. : ил. — ISBN 5-8397-0463-6 .— ISBN 978-5-8397-0463-6 .— URL: https://rucont.ru/efd/200109 (дата обращения: 26.04.2024)

Предпросмотр (выдержки из произведения)

В.В. Васильчиков Программирование в Visual C++ с использованием библиотеки MFC Учебное пособие Рекомендовано Научно-методическим советом университета для студентов специальности Математическое обеспечение и администрирование информационных систем Ярославль 2006 УДК 004.4 ББК З 973.2-018я73 В 19 Рекомендовано Редакционно-издательским советом университета в качестве учебного издания. <...> Операция Переход на дополняющую скобку Комбинация клавиш Указатель перед скобкой и Ctrl+] Сдвинуть строки вправо Выделить строки и Tab Сдвинуть строки влево Выделить строки и Shift+Tab Открыть диалоговое окно Find Ctrl+F Найти следующее вхождение F3 Найти предыдущее вхождение Shift+F3 Найти след. вх. выделенного текста Ctrl+F3 Найти пред. вх. выделенного текста Ctrl+Shift+F3 Включить/выключить закладку Ctrl+F2 Перейти к следующей закладке F2 Перейти к предыдущей закладке Shift+F2 Снять все закладки Ctrl+Shift+F2 Отладка программы Как и в любой другой среде программирования, удобство разработки во многом определяется возможностями предоставляемого отладчика. <...> Сначала нужно вы8 звать диалоговое окно Project Settings (нажав, например, Alt-F7), затем на вкладке C/C++ в строке Preprocessor definitions добавить определение _AFXDLL (если его там нет), а в окне Project Options установить опцию /MDd. <...> Комбинация клавиш Операция Добавить/удалить точку останова в строке с курсором F9 Удалить все точки останова Ctrl+Shift+F9 Начать/возобновить выполнение программы F5 Повторить выполнение программы с самого начала Ctrl+Shift+F5 Выполнить следующий оператор (режим step into) F11 Выполнить следующий оператор (режим step over) F10 Выполнить до выхода из текущей функции (step into) Shift+F11 Выполнить до текущей позиции курсора Ctrl+F10 Перейти к позиции курсора без выполнения операторов Ctrl+Shift+F10 Открыть диалоговое окно QuickWatch Shift+F9 Открыть диалоговое окно Breakpoints Ctrl+B Конец отладки Shift+F5 В качестве упражнения для освоения перечисленных средств создания и отладки программ в среде Developer Studio читателям предлагается попробовать их на примере разработки <...>
Программирование_в_Visual_C++_с_использованием_библиотеки_MFC_.pdf
Стр.1
Стр.2
Стр.3
Стр.226
Стр.227
Стр.228
Стр.229
Стр.230
Стр.231
Программирование_в_Visual_C++_с_использованием_библиотеки_MFC_.pdf
Министерство образования и науки Российской Федерации Федеральное агентство по образованию Ярославский государственный университет им. П.Г. Демидова В.В. Васильчиков Программирование в Visual C++ с использованием библиотеки MFC Учебное пособие Рекомендовано Научно-методическим советом университета для студентов специальности Математическое обеспечение и администрирование информационных систем Ярославль 2006
Стр.1
УДК 004.4 ББК З 973.2-018я73 В 19 Рекомендовано Редакционно-издательским советом университета в качестве учебного издания. План 2006 года Рецензенты: кандидат физико-математических наук С.И. Щукин; кафедра теории и методики обучения информатике ЯГПУ им. К.Д. Ушинского Васильчиков, В.В. Программирование в Visual C++ с испольВ 19 зованием библиотеки MFC : учебное пособие / В.В. Васильчиков ; Яросл. гос. ун-т. – Ярославль : ЯрГУ, 2006. – 236 с. ISBN 5-8397-0463-6 Рассмотрены основные моменты разработки Windowsприложений в среде Visual C++ с использованием библиотеки MFC. Рекомендуется студентам, обучающимся по специальности 010503 Математическое обеспечение и администрирование информационных систем (дисциплина "Программирование в среде Windows" (курс по выбору), блок ОПД), очной формы обучения. Библиогр.: 4 назв. УДК 004.4 ББК З 973.2-018я73 © Ярославский государственный университет, 2006 ISBN 5-8397-0463-6 © В.В. Васильчиков, 2006 2
Стр.2
Введение Система программирования Visual C++ относится к числу наиболее распространенных и популярных средств разработки программного обеспечения. Это высокоуровневая и удобная система, предлагающая широкий набор разнообразных инструментов проектирования. Данное учебное пособие написано на основе лекционного курса по использованию Visual C++ и библиотеки MFC для создания Windowsприложений, читавшегося автором для студентов факультета ИВТ ЯрГУ, обучающихся по специальности "Математическое обеспечение и администрирование информационных систем". Автор исходит из предположения, что студенты, приступающие к изучению данного курса, знакомы с языком программирования C++. Предполагается также, что в процессе обучения студенты будут выполнять все предлагаемые им в данном пособии учебные задания. Часть заданий представляет собой развитие или модификацию ранее разработанного приложения. В этом случае в качестве стартовой точки используется предыдущая версия проекта. В тексте задания та часть программного кода, которая должна быть добавлена или модифицирована, выделена полужирным шрифтом. Основная часть заданий взята из книги Майкла Янга [1]. Для удобства использования все исходные коды (точнее проекты Visual C++) доступны в локальной сети факультета. Проекты структурированы по темам учебного курса. Предполагаемый результат находится в папке Solution. Если задание предполагает модификацию разработанной ранее версии приложения, то она находится в папке Starter. 3
Стр.3
Оглавление Введение .............................................................................................................. 3 Тема 1. Установка программного обеспечения .......................................... 4 1.1. Установка Microsoft Visual C++ 6 .......................................................... 4 1.2.Установка справочной системы Visual C++ 6 ....................................... 6 Тема 2. Создание программ в среде Developer Studio ................................ 7 Создание проекта ........................................................................................... 7 Создание и редактирование исходного файла программы ....................... 7 Некоторые возможности текстового редактора ......................................... 7 Отладка программы ....................................................................................... 8 Комбинации клавиш отладчика Developer Studio ...................................... 9 Тема 3. Модель программирования в Windows ........................................ 10 Обработка сообщений ................................................................................. 10 Интерфейс графического устройства ........................................................ 10 Программирование, основанное на ресурсах ........................................... 10 Динамически подключаемые библиотеки ................................................ 11 Интерфейс прикладных программ Win32 API ......................................... 11 Тема 4. Процесс построения программ в Visual C++ ............................... 12 4.1. Создание программы в Visual C++ ....................................................... 12 Проект программы ....................................................................................... 12 Промежуточные файлы Visual C++ ........................................................... 13 4.2. Компоненты Visual C++ ........................................................................ 13 Редакторы и средства просмотра ресурсов ............................................... 13 Компилятор C/C++ ...................................................................................... 14 Редактор исходного текста ......................................................................... 14 Компилятор ресурсов .................................................................................. 14 Компоновщик ............................................................................................... 14 AppWizard ..................................................................................................... 15 ClassWizard ................................................................................................... 15 Средства просмотра исходного кода ......................................................... 15 Интерактивная справочная система .......................................................... 15 Components and Controls Gallery ................................................................ 15 226
Стр.226
Тема 5. Создание программ с графическим интерфейсом ..................... 16 Генерация исходного кода .......................................................................... 16 Изменение исходного кода ......................................................................... 17 Классы и файлы программы ....................................................................... 19 Этапы выполнения программы .................................................................. 19 Тема 6. Реализация представления ............................................................. 22 6.1. Реализация графического представления ............................................. 22 Генерация исходных файлов ...................................................................... 22 Определение переменных класса представления .................................... 22 Инициализация переменных класса представления ................................ 22 Идентификаторы стандартных указателей Windows, которые можно передавать функции LoadStandardCursor .................................................. 23 Добавление обработчиков сообщений Windows ...................................... 23 Командные сообщения ................................................................................ 23 Пример: добавление обработчика нажатия левой кнопки мыши ........... 24 Программирование обработки нажатия левой кнопки мыши ................ 25 Схема сообщений ........................................................................................ 25 Схема сообщений – функция OnMouseMove ........................................... 26 Схема сообщений – функция OnLButtonUp ............................................. 26 Параметры сообщений мыши .................................................................... 27 Проектирование ресурсов программы ...................................................... 27 Настройка окна программы ........................................................................ 27 6.2. Реализация текстового представления ............................................... 28 Генерация исходных файлов ...................................................................... 29 Редактирование ресурсов программы ....................................................... 29 Редактирование таблицы горячих клавиш ................................................ 29 Тема 7. Реализация документа ..................................................................... 30 7.1. Сохранение графических данных ........................................................... 30 Определение класса для сохранения информации о введенных линиях ..................................................................................... 30 Дополнения в классе документа ................................................................ 30 Реализация функций класса документа ..................................................... 31 7.2. Перерисовка окна .................................................................................... 32 7.3. Добавление команд в меню ..................................................................... 32 7.4. Удаление данных документа .................................................................. 33 7.5. Реализация команд меню ........................................................................ 33 Обработка команды Delete All ................................................................... 33 Обработка команды Undo ........................................................................... 34 227
Стр.227
Тема 8. Хранение данных .............................................................................. 36 8.1. Ввод-вывод программы MiniDraw ......................................................... 36 Добавление команд в меню File ................................................................. 36 Задание стандартного расширения файлов .............................................. 36 Поддержка команд меню File ..................................................................... 37 Сериализация данных документа .............................................................. 38 Установка флага изменений ....................................................................... 39 Поддержка технологии "drag-and-drop" .................................................... 40 Регистрация типа файла .............................................................................. 40 8.2. Ввод-вывод программы MiniEdit ............................................................ 41 Добавление команд в меню File ................................................................. 41 Добавление кода поддержки ...................................................................... 41 Функции Read и Write класса CArchive .................................................... 42 8.3. Другие средства ввода-вывода файлов ................................................. 42 Тема 9. Прокрутка и разделение окон представления ............................ 43 9.1. Добавление средств прокрутки окна .................................................... 43 Преобразование координат ......................................................................... 44 Ограничение размера рисунка ................................................................... 45 Изменение формы указателя ...................................................................... 47 9.2. Добавление средств разделения окна .................................................... 48 9.3. Обновление окна представления ............................................................ 49 Эффективная перерисовка .......................................................................... 50 Тема 10. Перемещаемые панели и строки состояния .............................. 53 10.1. Добавление в новую программу перемещаемой панели инструментов и строки состояния ............................................................. 53 10.2. Добавление перемещаемой панели инструментов в программу MiniDraw .......................................................................................................... 54 Определение ресурсов................................................................................. 55 Добавление новых команд меню ............................................................... 55 Изменение текста программы .................................................................... 57 Написание обработчиков сообщений ........................................................ 59 Реализация обработчиков сообщений ....................................................... 59 10.3. Добавление строки состояния в программу MiniDraw ..................... 61 Необходимые объявления ........................................................................... 61 Завершение создания меню View .............................................................. 62 Изменение интерактивной справки ........................................................... 62 228
Стр.228
Тема 11. Создание диалоговых окон ........................................................... 63 11.1. Создание модальных диалоговых окон ................................................ 63 Создание программы ................................................................................... 64 Диалоговое окно Format и его элементы управления .............................. 66 Задание порядка обхода элементов управления ...................................... 66 Создание класса для управления диалоговым окном .............................. 67 Определение переменных-членов класса ................................................. 67 Определение обработчиков событий ........................................................ 68 Управление диалоговым окном класса CFormat ...................................... 69 MFC-классы для элементов управления ................................................... 70 Управление окном класса CFormat – Style ............................................... 70 Управление окном класса CFormat – Justify и Pitch ................................. 71 Управление окном класса CFormat – OnChangeSpacing .......................... 71 Управление окном класса CFormat – OnPaint........................................... 72 Отображение диалогового окна ................................................................. 73 Отображение диалогового окна – OnTextFormat ..................................... 74 Отображение окна класса CFontDemoView – OnDraw ............................ 75 11.2. Создание немодальных диалоговых окон ............................................ 77 11.3. Создание диалоговых окон с вкладками .............................................. 78 Создание шаблона диалогового окна ........................................................ 78 11.4. Диалоговые окна общего назначения ................................................... 82 Тема 12. Разработка диалоговых приложений .......................................... 83 12.1. Простые диалоговые программы ........................................................ 83 Генерация исходных файлов программы DlgDemo ................................. 83 Настройка программы DlgDemo ................................................................ 84 Функция InitInstance .................................................................................... 87 12.2. Программы просмотра форм .............................................................. 87 Генерация исходных файлов ...................................................................... 88 Настройка программы FormDemo ............................................................. 88 Тема 13. Создание многодокументных приложений ............................... 92 13.1. Многодокументный интерфейс .......................................................... 92 13.2. Создание MDI-программы в среде Developer Studio ......................... 92 Генерация кода ............................................................................................. 92 13.3. Основные классы MDI-программы ...................................................... 93 Класс приложения ....................................................................................... 93 Класс документа .......................................................................................... 93 Класс главного окна .................................................................................... 93 Класс дочернего окна .................................................................................. 94 229
Стр.229
Использование документов различных типов .......................................... 95 Класс представления ................................................................................... 95 Сгенерированный код программы ............................................................. 95 13.4. Настройка ресурсов .............................................................................. 96 Команда New Window ................................................................................. 96 Добавление горячих клавиш и значка ....................................................... 97 Тема 14. Ввод/вывод символов ..................................................................... 98 14.1. Отображение текста .......................................................................... 98 Генерация исходного кода программы ..................................................... 98 Отображение текста в окне представления .............................................. 98 Основные этапы отображения текста внутри окна представления ...... 100 Метрики шрифта ........................................................................................ 100 Цвет шрифта ............................................................................................... 100 Функции класса CDC для установки и определения атрибутов текста101 Функции отображения текста .................................................................. 101 Создание объекта Font и сохранение текста ........................................... 102 Использование стандартных шрифтов .................................................... 103 Значения nIndex для выбора стандартных шрифтов ............................. 104 Поддержка средств прокрутки ................................................................. 104 14.2. Чтение кодов символов, вводимых с клавиатуры ........................... 106 Обработка сообщения WM_KEYDOWN ................................................ 106 О работе функции CTextDemoView::OnKeyDown ................................. 108 Обработка сообщения WM_CHAR .......................................................... 109 14.3. Управление курсором при редактировании ...................................... 112 Добавление новых функций обработки сообщений .............................. 112 Добавление кода функций-обработчиков ............................................... 112 Тема 15. Использование функций рисования ......................................... 115 15.1. Создание объекта контекста устройства ..................................... 115 15.2. Выбор средств рисования внутри объекта ..................................... 116 Перо и кисть ............................................................................................... 116 Выбор стандартных инструментов рисования ....................................... 117 Создание инструментов рисования ......................................................... 118 Создание кисти .......................................................................................... 119 Выбор пера или кисти в объекте контекста устройства ........................ 120 Пример функции OnDraw ......................................................................... 120 15.3. Установка атрибутов рисования для объекта ............................... 121 Стандартные атрибуты .............................................................................. 121 Режим отображения ................................................................................... 121 230
Стр.230
15.4. Создание графических изображений ................................................ 123 Базовые функции рисования .................................................................... 123 Программа Mandel – постановка задачи ................................................. 123 Программа Mandel – генерация и настройка кода ................................. 124 15.5. Функции рисования - члены класса CDC ........................................... 127 Прямые линии ............................................................................................ 127 Регулярные кривые – дуга ........................................................................ 128 Регулярные кривые – кривая Безье .......................................................... 128 Режим рисования линий, режим фона ..................................................... 130 Рисование замкнутых линий .................................................................... 131 Другие функции рисования ...................................................................... 132 15.6. Пример – программа MiniDraw ......................................................... 133 Изменения в интерфейсе ........................................................................... 133 Определение классов для фигур .............................................................. 134 Определение классов для фигур – комментарии ................................... 135 Другие модификации программы ............................................................ 136 Тема 16. Растровые изображения и битовые операции......................... 137 16.1. Создание растровых изображений ................................................... 137 Загрузка растрового изображения из ресурсов ...................................... 137 Создание растрового изображения с использованием функций рисования .................................................................................................... 138 Пример создания растрового изображения с использованием функций рисования ................................................................................... 139 Отображение растрового изображения ................................................... 140 Другие способы использования растровых изображений ..................... 141 16.2. Выполнение битовых операций при отображении ......................... 141 Функция PatBlt ........................................................................................... 142 Функция BitBlt ........................................................................................... 142 Использование функции BitBlt для анимации ....................................... 144 Функция StretchBlt ..................................................................................... 145 16.3. Отображение значков ........................................................................ 146 Пример – программа BitDemo .................................................................. 147 Тема 17. Печать и предварительный просмотр ...................................... 150 17.1. Добавление в программу средств печати и предварительного просмотра ..................................................................................................... 150 Добавление средств печати при генерации кода.................................... 150 Модификация ресурсов программы ........................................................ 150 Модификация текста программы ............................................................. 151 Добавление средств печати в окно представления класса CEditView . 152 231
Стр.231