Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Введение. Московская финансово-промышленная академия






Московская финансово-промышленная академия

 

 

Емельянов А.А.

Сальников Ю.Н.

Емельянова Н.З.

Основы программирования для
информатиков и инженеров.

Часть 2: Прикладное программирование в Windows

 

 

Москва, 2004


УДК 681.3.06

ББК 24.4.9

Е 60

 

Емельянов А.А., Сальников Ю.Н., Емельянова Н.З. Основы программирования для информатиков и инженеров. Часть 2: Прикладное программирование в Windows / Под ред. проф. А.А. Емельянова. – М.: МФПА, 2004. – 351 с.

 

Рецензенты:

1) Шориков Андрей Федорович, д.ф.-м.н., профессор, зав. кафедрой Информационных систем в экономике, Уральский государственный экономический университет, г. Екатеринбург.

2) Кафедра Информационных систем в экономике и управлении, Санкт-Петербургский государственный инженерно-экономичес-кий университет (ИНЖЭКОН).

 

 

В первой части книги в систематической форме излагаются основы программирования Windows-приложений на языках С/С++. Подробно рассмотрены возможности операционной системы в части API. Даются рекомендации: как надо программировать, как разрабатывать программу, как ее писать. Практические примеры различной сложности ориентированы на работу в среде Microsoft Visual C++.

Все учебные проекты, изложенные в книге, отлажены авторами в Windows XP (всего – 42 проекта различной сложности). Поэтому книга может быть хорошей основой для создания практикумов по дисциплинам «Операционные системы, среды и оболочки», «Высокоуровневые методы информатики и программирования», «Архитектура информационных систем».

Рекомендовано учебно-методическим объединением вузов по образованию в области прикладной информатики в качестве учебного пособия студентам, обучающимся по специальностям «Прикладная информатика в экономике» и «Информационные системы».

 

 

Ó Емельянов А.А., 2004

Ó Сальников Ю.Н., 2004

Ó Емельянова Н.З., 2004

Ó Московская финансово-промышленная академия, 2004


Содержание

 

 

Введение. 5

 

Глава 1. Модель программирования приложений. 7

1.1. Потребительские свойства Windows. 7

1.2. Процессы в Windows и потоковая многозадачность. 10

1.3. Динамические библиотеки. 15

1.4. Программное обеспечение для создания Win-приложений. 16

 

Глава 2. Обзор возможностей программирования. 21

2.1. Общий взгляд на программирование в Windows. 21

2.2. Взаимодействие Windows с программой. 23

2.3. Win32 API: прикладной интерфейс для Windows. 24

2.4. Компоненты окна. 24

2.5. Основы приложений Windows. 25

2.6. Каркас приложения Windows. 28

2.7. Определение класса окна. 30

2.8. Создание окна. 33

2.9. Цикл обработки сообщений. 35

2.10. Оконная функция. 37

 

Глава 3. Обработка сообщений Windows. 39

3.1. Что такое сообщения?. 39

3.2. Обработка нажатая клавиш.. 40

3.3. Обработка сообщений WM_PAINT. 45

3.4. Обработка сообщений «мыши». 50

3.5. Генерация сообщения WM_PAINT. 53

3.6. Генерация сообщений таймера. 57

 

Глава 4. Ресурсы и меню.. 62

4.1. Окна сообщений MessageBox. 62

4.2. Представляем меню.. 67

4.3. Использование ресурсов. 67

4.4. Включение меню в программу. Обработка команд. 71

4.5. Включение акселераторов сменю.. 76

4.6. Загрузка таблицы акселераторов. 78

 

Глава 5. Создание диалогов. 82

5.1. Взаимодействие Win-диалогов с пользователем. 82

5.2. Модальные диалоги: обработка сообщений. 83

5.3. Активизация и создание простейшего диалога. 84

5.4. Определение ресурсов диалога. 85

5.5. Оконная функция диалога. 87

5.6. Основы работы со списками. 92

5.7. Инициализация списка и выбор элементов. 94

5.8. Окно ввода. 100

5.9. Использование немодального диалога. 102

 

Глава 6. Графические образы, иконки и курсоры.. 111

6.1. Иконка и курсор. 111

6.2. Определение малой иконки. 115

6.3. Работа с растровыми изображениями. 118

6.4. Работа с несколькими растровыми изображениями. 124

 

Глава 7. Более подробно об элементах управления. 128

7.1. Работа с контрольными переключателями. 128

7.2. Статические элементы.. 140

7.3. Работа с селекторными кнопками. 141

7.4. Линейки прокрутки. 147

 


Введение

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

Практика показывает, что в последнее время большинство таких работ проводится с применением языка «С++» (по-русски произносится как «си плюс плюс»), который в настоящее время является одним из самых популярных языков программирования. Это универсальный язык, для которого характерны экономичность выражения, современный поток управления и структуры данных, богатый набор операторов. Язык «C++» не является ни языком «очень высокого уровня», ни «большим» языком, и не предназначается для некоторой специальной области применения, но отсутствие ограничений и общность языка делают его более удобным и эффективным для многих задач, чем языки, предположительно более мощные. По разнообразному количеству средств, предоставляемых программистам, его можно считать одним из самых эффективных языков, но, иногда, – и самых эффектных, и самых сложных. Все перечисленные обстоятельства объясняют, почему нами этот язык выбран в качестве базового.

 
 

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

 

В язык «C++» в качестве основного, базового средства включен более старый язык «C» (по-русски произносится как «си», поэтому некоторые авторы пишут его название как «Си»), который первоначально предназначался для написания операционной системы Unix; он был разработан и реализован Деннисом Ричи. Операционные системы Unix и Windows, компиляторы с языка «C++» и большинство прикладных программных систем сейчас создаются на языке «C++». Этот язык, однако, не связан с какими-либо определенными аппаратными средствами или системами, и на нем легко писать программы, которые можно пропускать без изменений на любом компьютере или ЭВМ, имеющей C-компилятор.

Целью первого учебного курса «Основы алгоритмизации и программирования» является обучение основам программирования. В это время студент, не будучи асом алгоритмизации, не сможет по достоинству оценить возможности объектно-ориентированного программирования, предоставляемые «C++». Поэтому сначала обучение ведется на классическом языке «С» (он входит в состав любой версии «С++) с минимальным привлечением дополнительных средств, имеющихся в «C++».

Второй учебный курс «Прикладное программирование в Windows» предназначен для развития навыков реализации реальных проектов, создания Windows-приложений (Windows applications). При этом используются все ранее изученные средства. В соответствии с этими тремя курсами учебно-методическое обеспечение также разделено на 3 части.

В результате третьего учебного курса студенты, получившие изрядный опыт по описанию алгоритмов средствами традиционного языка «C», совершенствуют свое мастерство, и средствами объектно-ориентированного программирования языка «C++» делают программы более эффективными и компактными.

Мы не претендуем на оригинальность изложения теоретического материала по программированию. При создании данного учебного пособия нами использовались не только собственные разработки, но и данные из книг, пособий и справочников известных авторов: М.И. Болски, Б. Кернигана, Д. Кнута, Д. Дж. Круглински, А.Б. Крупника, Д. Ритчи, Г. Шилдта. Поэтому учебное пособие можно рассматривать и как хрестоматийное издание.

В качестве основного методического приема используется прагматический подход, изложенный в знаменитой книге Андре Ламота «Программирование игр для Windows: советы профессионала» (М.: Издательский дом «Вильямс», 2004), – это обучение на «живых» примерах. Дело в том, что максимум всех свойств и достижений программирования (интеллектуальные системы, базы данных, мультипроцессинг и многозадачность, динамические библиотеки, explorer и др.) применяется в очень сложных кибернетических системах, в том числе, – в профессиональных тренажерах, используемых в управлении экономикой, космонавтике, военном деле, авиации и службах МЧС.

Книга рекомендована учебно-методическим объединением вузов по образованию в области прикладной информатики в качестве учебного пособия студентам, обучающимся по специальностям «Прикладная информатика в экономике» и «Информационные системы».

 

Редактор,






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.