Программирование на языке высокого уровня. Марапулец Ю.В. - 172 стр.

UptoLike

Составители: 

тывается самой системой, а программе достаточно поручить Windows выполнить дейст-
вия, предусмотренные по умолчанию.
Следует отметить, что при использовании библиотеки MFC функция окна создает-
ся автоматически. В этом заключается одно из преимуществ библиотеки. Но в любом
случае, если сообщение получено, то программа должна выполнить некоторое действие.
Хотя она может вызывать для этого одну или несколько API-функций, само действие
было инициировано Windows. Поэтому именно способ взаимодействия с операционной
системой через сообщения диктует общий принцип построения всех программ для Win-
dows, написанных как с использованием MFC, так и без нее.
Цикл сообщений. Как объяснялось выше, Windows взаимодействует с програм-
мой, посылая ей сообщения. Все приложения Windows должны организовать так назы-
ваемый цикл сообщений (обычно внутри функции WinMain()). В этом цикле каждое не-
обработанное сообщение должно быть извлечено из очереди сообщений данного прило-
жения и передано назад в Windows, которая затем вызывает функцию окна программы с
данным сообщением в качестве аргумента. В традиционных Windows-программах необ-
ходимо самостоятельно создавать и активизировать такой цикл. При использовании
MFC это также выполняется автоматически. Однако важно помнить, что цикл сообще-
ний все же существует. Он является неотъемлемой частью любого приложения
Windows.
Класс окна. Как будет показано далее, каждое окно в Windows-приложении харак-
теризуется определенными атрибутами, называемыми классом окна. (Здесь понятие
класс не идентично используемому в С++. Оно, скорее, означает стиль или тип.) В
традиционной программе класс окна должен быть определен и зарегистрирован прежде,
чем будет создано окно. При регистрации необходимо сообщить Windows, какой вид
должно иметь окно и какую функцию оно выполняет. В то же время регистрация класса
окна еще не означает создание самого окна. Для этого требуется выполнить дополни-
тельные действия. При использовании библиотеки MFC создавать собственный класс
окна нет необходимости. Вместо этого можно работать с одним из заранее определен-
ных классов, описанных в библиотеке.
Структура Windows-программ отличается от структуры программ других типов.
Это вызвано двумя обстоятельствами: во-первых, способом взаимодействия между про-
граммой и Windows, описанным выше; во-вторых, правилами, которым следует подчи-
няться для создания стандартного интерфейса Windows-приложения (т.е. чтобы сделать
программупохожейна Windows-приложение).
Главная задача Windows, поставленная перед ее разработчикамидать человеку,
который хотя бы немного знаком с системой, возможность сесть за компьютер и запус-
тить любое приложение без предварительной подготовки. Для этого Windows предос-
тавляет дружественный интерфейс пользователя, который необходимо поддерживать
всем программистам, создающим программное обеспечение в данной операционной
системе.
Типы данных в Windows. В Windows-программах вообще (и в использующих биб-
лиотеку MFC в частности) не слишком широко применяются стандартные типы данных
из С или С++, такие как int или char*. Вместо них используются типы данных, опреде-
ленные в различных библиотечных (header) файлах. Наиболее часто используемыми ти-
пами являются HANDLE, HWND, BYTE, WORD, DWORD, UNIT, LONG, BOOL, LPSTR
и LPCSTR.
Тип HANDLE обозначает 32-разрядное целое, используемое в качестве дескрипто-
ра. Есть несколько похожих типов данных, но все они имеют ту же длину, что и
HANDLE, и начинаются с литеры Н.
Дескрипторэто просто число, определяющее не-
который ресурс.
Тип HWND обозначает 32-разрядное целоедескриптор окна.
Тип BYTE обозначает 8-разрядное беззнаковое символьное значение.
172
тывается самой системой, а программе достаточно поручить Windows выполнить дейст-
вия, предусмотренные по умолчанию.
      Следует отметить, что при использовании библиотеки MFC функция окна создает-
ся автоматически. В этом заключается одно из преимуществ библиотеки. Но в любом
случае, если сообщение получено, то программа должна выполнить некоторое действие.
Хотя она может вызывать для этого одну или несколько API-функций, само действие
было инициировано Windows. Поэтому именно способ взаимодействия с операционной
системой через сообщения диктует общий принцип построения всех программ для Win-
dows, написанных как с использованием MFC, так и без нее.
      Цикл сообщений. Как объяснялось выше, Windows взаимодействует с програм-
мой, посылая ей сообщения. Все приложения Windows должны организовать так назы-
ваемый цикл сообщений (обычно внутри функции WinMain()). В этом цикле каждое не-
обработанное сообщение должно быть извлечено из очереди сообщений данного прило-
жения и передано назад в Windows, которая затем вызывает функцию окна программы с
данным сообщением в качестве аргумента. В традиционных Windows-программах необ-
ходимо самостоятельно создавать и активизировать такой цикл. При использовании
MFC это также выполняется автоматически. Однако важно помнить, что цикл сообще-
ний все же существует. Он является неотъемлемой частью любого приложения
Windows.
      Класс окна. Как будет показано далее, каждое окно в Windows-приложении харак-
теризуется определенными атрибутами, называемыми классом окна. (Здесь понятие
“класс” не идентично используемому в С++. Оно, скорее, означает стиль или тип.) В
традиционной программе класс окна должен быть определен и зарегистрирован прежде,
чем будет создано окно. При регистрации необходимо сообщить Windows, какой вид
должно иметь окно и какую функцию оно выполняет. В то же время регистрация класса
окна еще не означает создание самого окна. Для этого требуется выполнить дополни-
тельные действия. При использовании библиотеки MFC создавать собственный класс
окна нет необходимости. Вместо этого можно работать с одним из заранее определен-
ных классов, описанных в библиотеке.
      Структура Windows-программ отличается от структуры программ других типов.
Это вызвано двумя обстоятельствами: во-первых, способом взаимодействия между про-
граммой и Windows, описанным выше; во-вторых, правилами, которым следует подчи-
няться для создания стандартного интерфейса Windows-приложения (т.е. чтобы сделать
программу “похожей “ на Windows-приложение).
      Главная задача Windows, поставленная перед ее разработчиками – дать человеку,
который хотя бы немного знаком с системой, возможность сесть за компьютер и запус-
тить любое приложение без предварительной подготовки. Для этого Windows предос-
тавляет дружественный интерфейс пользователя, который необходимо поддерживать
всем программистам, создающим программное обеспечение в данной операционной
системе.
      Типы данных в Windows. В Windows-программах вообще (и в использующих биб-
лиотеку MFC в частности) не слишком широко применяются стандартные типы данных
из С или С++, такие как int или char*. Вместо них используются типы данных, опреде-
ленные в различных библиотечных (header) файлах. Наиболее часто используемыми ти-
пами являются HANDLE, HWND, BYTE, WORD, DWORD, UNIT, LONG, BOOL, LPSTR
и LPCSTR.
      Тип HANDLE обозначает 32-разрядное целое, используемое в качестве дескрипто-
ра. Есть несколько похожих типов данных, но все они имеют ту же длину, что и
HANDLE, и начинаются с литеры Н. Дескриптор – это просто число, определяющее не-
который ресурс.
      Тип HWND обозначает 32-разрядное целое – дескриптор окна.
      Тип BYTE обозначает 8-разрядное беззнаковое символьное значение.

                                       172