Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Операционная система Microsoft Windows 3.1 для программиста

© Александр Фролов, Григорий Фролов
Том 11 М.: Диалог-МИФИ, 1993, 269 стр.

[Назад] [Содеожание] [Дальше]

8.1. Файл windows.h

Исходные тексты любого приложения Windows включают файл windows.h:

#include <windows.h>

Этот файл содержит множество определений типов данных, макросов, прототипов функций, констант и т. д.

Наряду с этим файлом вы можете включить в приложения и другие, знакомые вам по MS-DOS, include-файлы, такие, как stdlib.h и string.h.

Если в проекте Borland C++ for Windows версии 3.1 указывается, что создается приложение Windows, компилятор определяет символ _WINDOWS. Этот символ влияет на включаемые файлы стандартной библиотеки Си. В частности, из include-файлов могут быть исключены прототипы функций, не совместимых с Windows.

Перед включением файла windows.h для выполнения более строгой проверки типов рекомендуется определить символ STRICT:

#define STRICT

После включения этой строки многие типы данных определяются по-другому. В частности, все многочисленные идентификаторы ресурсов Windows, такие, как идентификатор контекста, идентификатор окна и т. п., определяются как различные типы данных. При этом вы не сможете по ошибке выполнить, например, присваивание идентификатора окна переменной, предназначенной для хранения идентификатора контекста отображения или идентификатора меню.

Есть целый набор символов, при определении которых из файла windows.h будут исключены определения функций или типов данных, связанных с отдельными подсистемами Windows. Вы можете определить эти символы для ускорения обработки файла windows.h при трансляции (разумеется, если соответствующие подсистемы не используются вашим приложением). Приведем список некоторых из таких символов.

Символ Что исключает
NOATOM Прототипы функций для работы с атомами
NOCLIPBOARD Прототипы функций, идентификаторы сообщений и константы для работы с универсальным буфером обмена Clipboard
NOCOMM Прототипы функций, структуры и константы для работы с портом последовательной передачи данных
NOCTLMGR Прототипы функций для работы с диалоговыми панелями, структуры и константы для работы с диалоговыми панелями, сообщения WM_CTLCOLOR, WM_GETFONT, WM_SETFONT, стили органов управления
NOCOLOR Прототипы функций GetSysColor, SetSysColor и константы с префиксом COLOR
NODRAWTEXT Прототип функции DrawText и связанные с этой функцией константы
NOGDI Все определения функций и констант для графического интерфейса GDI
NOHELP Функцию WinHelp, структуры и константы для нее
NOICONS Идентификаторы встроенных пиктограмм
NOKERNEL Прототип функции WinMain, определения всех функций ядра Windows, структур данных и константы
NOMB Прототип функций MessageBox, MessageBeep и константы для них
NOMENUS Прототипы функций и константы для работы с меню
NOMETAFILE Прототипы функций и константы для работы с метафайлами
NOSYSCOMMANDS Константы системных команд с префиксом SC
NOUSER Прототипы и определения констант для пользовательских функций (эти функции относятся к программному интерфейсу Windows и вызываются приложениями)
NOVIRTUALKEYCODES Коды виртуальных клавиш
NOWINMESSAGES Определения кодов сообщений Windows
NOWINSTYLES Константы для определения стилей окон

[Назад] [Содеожание] [Дальше]