Операционная система Microsoft Windows 3.1 для программиста
© Александр Фролов, Григорий Фролов
Том 13, М.: Диалог-МИФИ, 1993, 284 стр.
Введение
В этой книге мы продолжим изучение
программного интерфейса операционной системы
Microsoft Windows, начатое в двух предыдущих томах
"Библиотеки системного программиста" (том 11
и 12). Как и раньше, мы будем рассматривать базовые
понятия Windows, ориентируясь в основном на версию 3.1
этой операционной системы. Полученные вами
знания найдут применение и в дальнейшем, когда вы
будете создавать приложения для 32-разрядных
операционных систем Windows, таких, как Windows 4.0
(проект Chicago) и Windows NT. Особенности этих
операционных систем мы рассмотрим позже в
следующих томах нашей серии.
Первая глава посвящена созданию меню в
приложениях Windows. Практически в любом
стандартном приложении Windows есть меню,
расположенное под заголовком главного окна
приложения, а также системное меню. Операционная
система Windows имеет мощную поддержку меню,
избавляя программиста от рутинной работы и
полностью обеспечивает интерфейс между меню и
пользователем.
Для создания меню чаще всего используется
шаблон, подготовленный редактором ресурсов Resource
Workshop или аналогичным инструментом. Этот шаблон
хранится в файле загрузочного модуля приложения
вместе с другими ресурсами. Вы также можете
создавать меню динамически во время работы
приложения, используя специально
предназначенные для этого функции программного
интерфейса Windows. Мы расскажем вам о различных
способах создания меню, а также о том, как
подключить к меню клавиатурный интерфейс. Вы
сможете создать меню из графических изображений
bitmap.
В последнее время практически каждое
приложение Windows создает такой орган управления,
как Toolbar. Toolbar - это прямоугольное окно с кнопками,
расположенное горизонтально или вертикально,
причем на кнопках изображены пиктограммы,
отражающие их назначение. Так как операционная
система Windows версии 3.1 не имеет поддержки органа
управления Toolbar, приложения должны создавать его
самостоятельно.
В первой главе этого тома мы приведем исходные
тексты приложения SMARTPAD, в главном окне которого
имеется Toolbar, реализованный как класс C++. Вы
можете использовать этот класс в своих
разработках.
Вторая глава - о средствах управления памятью в
операционной системе Windows версии 3.1. Управление
памятью в Windows намного сложнее, чем в MS-DOS. Вы
должны учитывать мультизадачный режим работы
операционной системы Windows. Кроме того, все
приложения Windows используют защищенный режим
работы процессора, существенно отличающийся от
реального режима, знакомого вам по MS-DOS. Перед
прочтением этой главы мы рекомендуем вам
обратиться к тому 6 "Библиотеки системного
программиста", который называется
"Защищенный режим процессоров Intel
80286/80386/80486". Во второй главе книги, которую вы
сейчас читаете, мы рассмотрели только основные
вопросы использования защищенного режима. В томе
6 вы найдете более подробное описание.
Во второй главе мы расскажем вам об
использовании локальной и глобальной области
памяти, об использовании моделей памяти при
создании приложений Windows. Вы научитесь работать с
блоками памяти большого размера (больше 64 Кбайт).
Мы также расскажем о редко используемых, но очень
мощных функциях, позволяющих работать с
локальной таблицей дескрипторов.
Третья глава посвящена библиотекам
динамической загрузки, называемых также
DLL-библиотеками. DLL-библиотеки используются
практически во всех крупных приложениях Windows.
Более того, сама операционная система Windows есть в
некотором смысле ни что иное, как набор
DLL-библиотек.
Для решения некоторых задач, таких как перехват
сообщений перед их поступлением во все
приложения, вам не обойтись без создания своих
DLL-библиотек. Мы рсскажем вам о структуре
DLL-библиотеки, о том, как ее создавать и
использовать, а также приведем исходные тексты
нескольких приложений, использующих
DLL-библиотеки, в том числе исходные тексты
приложения, позволяющего вводить в среде Windows с
клавиатуры символы кириллицы (очень сильно
упрощенный аналог приложений типа CyrWin и ParaWin). Вы
научитесь встраивать системные фильтры с
помощью функции SetWindowsHookEx.
В четвертой главе мы рассмотрим особенности
работы с файлами в среде операционной системы
Microsoft Windows версии 3.1. Мультизадачный режим работы
накладывает ограничения на то, как ваше
приложение пользуется файловой системой. Мы
рассмотрим набор функций из программного
интерфейса Windows, предназначенных для работы с
файлами, в том числе функции _hread и _hwrite,
позволяющие прочитать и записать файл очень
большого размера за один вызов функции.
Мы также расскажем в этой главе об
использовании стандартных диалоговых панелей и
соответствующих функций из DLL-библиотеки commdlg.dll.
В частности, вы научитесь подключать к
стандартным функциям из этой библиотеки
разработанные вами шаблоны диалоговых панелей.
Вместе с книгой продается дискета, содержащая
исходные тексты всех приложений.
Для трансляции исходных текстов приложений,
приведенных в книге, мы пользовались системой
разработки Borland Turbo C++ for Windows версии 3.1. Вы можете
также работать с Borland C++ версий 3.1 или 4.01, однако
для комфортной работы c версией 4.01 требуется как
минимум 8 Мбайт оперативной памяти (а лучше 16
Мбайт) и процессор i486. В приложениях, приведенных
в этой книге, мы не будем использовать новые
возможности системы разработки Borland C++ for Windows
версии 4.01 (в этой книге мы описываем программный
интерфейс Windows, а не средства разработки), поэтому
для ускорения работы мы рекомендуем выбрать Borland
Turbo C++ for Windows.
Если же ваш компьютер обладает необходимой
производительностью, имеет смысл работать с Borland
C++ for Windows версии 4.01. В этом случае вы можете
использовать без изменений файлы проектов *.prj,
записанные на дискете. Они будут автоматически
преобразованы в новые файлы проектов *.ide.
Авторы выражают благодарность сотрудникам АО
"Диалог-МИФИ" Виноградовой Елене, Голубеву
Олегу Александровичу, Дмитриевой Наталье,
Кузьминовой Оксане, Синеву Максиму, Ноженко
Сергею, корректору Кустову Виктору, принимавшим
активное участие в подготовке этой книги, а также
всех остальных томов "Библиотеки системного
программиста" и другой нашей серии книг -
"Персональный компьютер. Шаг за шагом",
адресованной начинающим пользователям
персонального компьютера.
|