Учебное пособие
Кафедра экономической математики, информатики и статистики
Библиографическая запись:
Рекомендовано Сибирским региональным учебно-методическим центром высшего профессионального образования для межвузовского использования в качестве учебного пособия для студентов технических и экономических специальностей всех форм обучения.
Оглавление (содержание)
Введение
Часть 1. Общие сведения о технологии программирования
1. Задачи технологии программирования
1.1. Базовые определения
1.2. Невозможность доказательства отсутствия программных ошибок
1.3. Надежность программной системы
1.4. Технология программирования как способ создания надежных программных систем
1.5. Этапы развития технологии программирования
1.6. Технология программирования и информатизация общества
2. Общие принципы разработки программных систем
2.1. Специфика разработки программных систем
2.2. Основные подходы при создании ПС
2.3. Жизненный цикл программной системы
2.4. Понятие качества программной системы
2.5. Обеспечение надежности – основной критерий разработки тпрограммных систем
2.5.1. Методы борьбы со сложностью
2.5.2. Обеспечение точности перевода
2.5.3. Преодоление барьера между пользователем и разработчиком
2.5.4. Контроль принимаемых решений
3. Архитектура программной системы
3.1. Понятие архитектуры программной системы
3.2. Основные классы архитектур программных систем
3.3. Архитектурные функции
4. Тестирование и отладка программной системы
4.1. Основные понятия
4.2. Принципы и виды отладки программной системы
4.3. Заповеди отладки программной системы
4.4. Автономная отладка программной системы
4.5. Комплексная отладка программной системы
Часть 2. Windows программирование на основе API
5. Основные характеристики Windows платформ
5.1. Краткая история Windows
5.2. Отличия и общие свойства Windows платформ
5.2.1. Общие свойства Windows платформ
5.2.2. Отличия Win32 платформ
5.2.3. Окна и сообщения
5.2.4. Приложения, потоки и окна
5.2.5. Классы окон
5.2.6. Венгерская нотация
5.2.7. Типы сообщений
5.2.8. Сообщения и многозадачность
5.2.9. Очереди сообщений
5.2.10. Процессы и потоки
5.2.11. Потоки и сообщения
5.2.12. Оконная функция – функция обратного вызова
5.2.13. Синхронные и асинхронные сообщения
5.2.14. Функции Windows
5.2.15. Другие API
6. Структура Windows приложений
6.1. Файлы заголовков
6.2. Глабальные переменные
6.3. Точка входа в приложение
6.4. Необходимые переменные
6.5. Регистрация класса окна
6.6. Создание главного окна
6.7. Отображение главного окна
6.8. Цикл обработки сообщений
6.9. Функция окна
7. Обработка сообщений в оконной функции
7.1. Создание окна WM_CREATE
7.2. Определение размера окна WM_SIZE
7.3. Отображение содержимого окна WM_PAINT
7.3.1. Случаи генерации сообщения WM_PAINT
7.3.2. Особенность сообщения WM_PAINT
7.3.3. Правила обработки WM_PAINT
7.3.4. Отрисовка вне WM_PAINT
7.3.5. Определение возможностей контекста устройства
7.3.6. Системные метрики
7.4. Определение расположения окна WM_MOVE
7.5. Использование оконных полос прокрутки
7.5.1. Диапазон и положение полос прокрутки
7.5.2. Сообщения полос прокрутки
7.6. Клавиатурный ввод
7.6.1. Фокус ввода и активное окно
7.6.2. Генерация клавиатурных сообщений
7.6.3. Аппаратные сообщения
7.6.3.1. Системные аппаратные сообщения
7.6.3.2. Несистемные аппаратные сообщения
7.6.3.3. Битовые поля параметра lParam
7.6.3.4. Виртуальные коды клавиш
7.6.4. Символьные сообщения
7.6.5. Обработка сообщения WM_CHAR
7.6.6. Определение состояния управляющих клавиш
7.6.7. Наборы символов
7.7. Системный таймер
7.7.1. Использование таймера. Первый способ
7.7.2. Использование таймера. Второй способ
7.8. Удаление окна, сообщение WM_DESTROY
8. Ресурсы приложения и их использование
8.1. Меню приложения
8.1.1. Виды меню
8.1.2. Возможные состояния пунктов меню
8.1.3. Сообщения от пунктов меню
8.1.4. Создание главного меню приложения
8.1.5. Функции для работы с меню
8.2. Стандартные элементы управления
8.2.1. Создание стандартных элементов управления
8.2.2. Разрушение элементов управления
8.2.3. Функции для работы с элементами управления
8.2.4. Сообщения дочерних окон
8.2.5. Сообщения родительского окна дочерним окнам
8.2.6. Расширенное управление дочерними окнами
8.2.7. Оконные процедуры элементов управления
8.2.8. Элемент управления кнопка
8.2.8.1. Стили кнопок
8.2.8.2. Сообщения от кнопок, получаемые родительским окном
8.2.8.3. Сообщения от родительского окна к кнопке
8.2.8.4. Кнопки-переключатели
8.2.8.5. Сообщение от переключателей
8.2.8.6. Сообщение от родительского окна к переключателям
8.2.9. Структура DRAWITEMSTRUCT
8.2.10. Стандартный элемент управления окно ввода
8.2.10.1. Стили окна редактирования
8.2.10.2. Сообщения от редактора к родительскому окну
8.2.10.3. Сообщения от родительского окна к редактору
8.2.11. Стандартный элемент управления статический текст
8.2.11.1. Стили элемент управления STATIC
8.2.11.2. Сообщения от статического элемента управления
8.2.11.3. Сообщения от родительского окна к STATIC
8.2.12. Стандартный элемент управления список
8.2.12.1. Стили элемента управления список
8.2.12.2. Сообщения от списка к родительскому окну
8.2.12.3. Сообщения от родительского окна к списку
8.2.13. Стандартный элемент управления список с вводом
8.2.13.1. Стили элемента управления combobox
8.2.13.2. Сообщения от combobox к родительскому окну
8.2.13.3. Сообщения от родительского окна к combobox
9. Создание и использование диалоговых окон
9.1. Этапы создания диалога
9.1.1. Создание шаблона диалога
9.1.2. Функция диалога
9.1.2.1. Сходства между диалоговой функцией и оконной процедурой
9.1.2.2. Различия между диалоговой функцией и оконной процедурой
9.2. Типы диалоговых панелей
9.3. Создание модального диалога
9.4. Закрытие модального диалога
9.5. Окна сообщений
9.6. Немодальные диалоги
9.7. Диалоговые окна общего пользования
10. Управление файлами
10.1. Доступ к файловой системе
10.2. Потоковый ввод/вывод
10.3. Функции ядра Windows для работы с файлами
10.4. Специализированные функции для работы с файлами
11. Печать документов
11.1. Последовательность печати документа
11.2. Контекст устройства принтера
11.3. Диалог отмены печати
11.4. Запуск процесса печати
11.5. Печать страницы документа
11.6. Завершение печати документа
12. Процессы и потоки
12.1. Диспетчеризация потоков
12.2. Проблемы многопоточной технологии
12.3. Создание рабочего потока
12.4. Организация взаимодействия потоков
12.4.1. Рабочий поток – процесс
12.4.2. Процесс – рабочий поток
12.5. Общая схема взаимодействия потоков
13. Приложение "Тестер файлов"
13.1. Функция WinMain()
13.2. Функция главного окна
13.3. Вспомогательные функции
13.4. Функция рабочего потока
Часть 3. WINDOWS ПРОГРАММИРОВАНИЕ НА ОСНОВЕ MFC
14. Введение в VISUAL C++
14.1. Интерфейс вызовов функций в Windows
14.2. Библиотеки динамической загрузки
14.3. Преимущества использования MFC
14.4. Основные компоненты MFC приложения
14.5. Архитектура MFC приложения
14.6. Наследование – главный принцип построения MFC приложений
14.7. Каркас приложения
14.8. Проект приложения
14.9. Типы мастеров проектов
14.10. Имена, используемые в MFC
15. Краткий обзор классов MFC
15.1. CObject – самый базовый класс библиотеки MFC
15.2. CCmdTarget – основа структуры приложения MFC
15.3. Классы CWinThread и CWinApp – подзадачи приложения
15.4. CDocument – документ приложения
15.5. CDocTemplate, CSingleDocTemplate и CMultiDocTemplate – шаблоны документов
15.6. CWnd – базовый класс окон
15.7. CFrameWnd – окно обрамляющей рамки
15.8. CView – окна просмотра
15.9. CDialog – диалоговые панели
15.10. Семейство классов - элементов управления
15.11. Управляющие панели
15.12. CMenu – класс меню приложений
15.13. Массивы, списки, словари
15.14. Файловая система
15.15. Контекст отображения
15.16. Объекты графического интерфейса
15.17. Исключения
15.18. Классы, не имеющие базового класса
16. Структура простейших MFC приложений
16.1. Приложение без главного окна
16.2. Приложение с главным окном
16.3. Обработка сообщений
16.3.1. Оконные сообщения
16.3.2. Сообщения от элементов управления
16.3.3. Командные сообщения
16.3.4. Таблица сообщений
16.3.5. Обработчики сообщений
17. Диалоговые панели в MFC приложениях
17.1. Этапы создания диалоговых панелей
17.2. Модальная диалоговая панель
17.2.1. Шаблон диалога
17.2.2. Класс диалоговой панели и его реализация
17.2.3. Отображение модальной диалоговой панели
17.3. Немодальная диалоговая панель
18. Поддержка MFC новых элементов управления
18.1. Элемент CRichEditCtrl
18.1.1. Создание элемента RichEdit
18.1.2. Загрузка текста в RichEdit
18.1.3. Форматирование текста
18.1.4. Форматирование параграфов
18.1.5. Сохранение в файле текста
18.2. Элемент управления CListCtrl
18.2.1. Предварительные замечания
18.2.2. Создание элемента ListCtrl
18.2.3. Инициализация списка
18.2.4. Выборка из списка
18.2.5. Пересортировка списка
18.3. Элемент CTreeCtrl
18.3.1. Предварительные замечания
18.3.2. Создание элемента
18.3.3. Инициализация элемента
18.3.4. Вставка объектов
18.3.5. Позиционирование
18.3.6. Динамическое изменение образа объекта
18.3.7. Динамический отклик на пользовательский выбор
18.3.8. Отслеживание нажатий кнопок мыши
18.3.9. Редактирование меток объектов
18.4. Элемент CSpinButtonCtrl
19. Архитектура DOCUMENT-VIEW
19.1. Пользовательский интерфейс
19.2. Документ и его представления
19.3. Создание документов и его отображений
19.4. Взаимодействие документа и его видов
19.5. SDI-приложение
19.5.1. Ресурсы приложения
19.5.2. Динамическая замена одного объекта вид другим
19.5.3. Расщепление главного окна приложения
19.6. MDI-приложение
19.6.1. Ресурсы приложения
19.6.2. Классы приложения
19.7. Дополнительные компоненты MFC приложений
19.7.1. Панель управления
19.7.2. Дополнительные возможности панели управления
19.7.3. Панель состояния
19.7.4. Индикаторы панели состояния
19.7.5. Дополнительные возможности панели состояния
20. DLL и MFC
20.1. Библиотеки динамической компоновки
20.2. Библиотеки импортирования
20.3. Согласование интерфейсов
20.4. Загрузка неявно подключаемой DLL
20.5. Динамическая загрузка и выгрузка DLL
20.5.1. Загрузка обычной DLL
20.5.2. Выгрузка DLL
20.5.3. Библиотеки ресурсов
20.6. Создание DLL
20.6.1. Загрузка MFC расширений динамических библиотек
20.6.2. Функция DllMain
20.6.3. Экспортирование функций из DLL
20.6.4. Файл определения модуля
20.6.5. Экспортирование классов
20.6.6. Статическая память DLL
20.7. Использование MFC в DLL
20.7.1. Обычные MFC DLL
20.7.2. Управление информацией о состоянии MFC
20.7.3. Динамические расширения MFC
20.7.4. Инициализация динамических расширений
20.7.5. Загрузка динамических расширений MFC
20.7.6. Экспортирование классов из динамических расширений
Вместо заключения – API, MFC, что же дальше?
Литература к первой части
Литература ко второй части
Литература к третьей части
Проблемно-ориентированные вычислительные системы
09.03.02 Информационные системы и технологии (Информационные системы и технологии) Очная форма обучения, план набора 2014 г. План в архиве
Технология программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2018 г. План в архиве
Технология программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2017 г. План в архиве
Технология программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2015 г. План в архиве
Проблемно-ориентированные вычислительные системы
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2016 г. План в архиве
Проблемно-ориентированные вычислительные системы
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2019 г. План в архиве
Проблемно-ориентированные вычислительные системы
09.03.02 Информационные системы и технологии (Информационные системы и технологии) Очная форма обучения, план набора 2013 г. План в архиве
Технология программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2016 г. План в архиве
Проблемно-ориентированные вычислительные системы
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2017 г. План в архиве
Технология программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2019 г. План в архиве
Технология программирования
09.03.02 Информационные системы и технологии (Информационные системы и технологии) Очная форма обучения, план набора 2014 г. План в архиве
Проблемно-ориентированные вычислительные системы
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2018 г. План в архиве
Технология программирования
09.03.02 Информационные системы и технологии (Информационные системы и технологии) Очная форма обучения, план набора 2013 г. План в архиве
Программирование микроконтроллеров
11.03.01 Радиотехника (Аудиовизуальная техника) Очная форма обучения, план набора 2016 г. План в архиве
Проблемно-ориентированные вычислительные системы
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2015 г. План в архиве
Программирование микроконтроллеров
11.03.01 Радиотехника (Аудиовизуальная техника) Очная форма обучения, план набора 2018 г. План в архиве