Составители:
Рубрика:
типов. Например, каждый раз при щелчке мышью в окне активной программы
посылается соответствующее сообщение. Другой тип сообщений посылается,
когда необходимо обновить содержимое активного окна. Сообщения посыла-
ются также при нажатии клавиши, если программа ожидает ввода с клавиату-
ры. Необходимо запомнить одно: по отношению к программе сообщения по-
являются случайным образом. Вот почему Windows-программы похожи на
программы обработки прерываний: невозможно предсказать, какое сообщение
появится в следующий момент.
Все Windows-программы начинают выполнение с вызова функции Win-
Main(). При традиционном методе программирования это нужно делать явно.
С использованием различных шаблонов (например, библиотеки MFC Visual
C++) такая необходимость отпадает, но функция все-таки существует.
Все Windows-программы должны содержать специальную функцию, ко-
торая не используется в самой программе, но вызывается самой операционной
системой. Эту функцию обычно называют функцией окна, или процедурой ок-
на. Она вызывается Windows, когда системе необходимо передать сообщение в
программу. Именно через нее осуществляется взаимодействие между про-
граммой и системой. Функция окна передает сообщение в своих аргументах.
Согласно терминологии Windows, функции, вызываемые системой, называют-
ся функциями обратного вызова. Таким образом, функция окна является
функцией обратного вызова. Помимо принятия сообщения от Windows функ-
ция окна должна вызывать выполнение действия, указанного в сообщении.
Конечно, программа не обязана отвечать на все сообщения, посылаемые Win-
dows. Поскольку их может быть сотни, то большинство сообщений обычно
обрабатывается самой системой, а программе достаточно поручить Windows
выполнить действия, предусмотренные по умолчанию.
Как объяснялось выше, Windows взаимодействует с программой, посылая
ей сообщения. Все приложения Windows должны организовать так называемый
цикл сообщений – обычно внутри функции WinMain(). В этом цикле каждое не-
обработанное сообщение должно быть извлечено из очереди сообщений данного
приложения и передано назад в Windows, которая затем вызывает функцию окна
программы с данным сообщением в качестве аргумента.
Каждое окно в Windows-приложении характеризуется определенными ат-
рибутами, называемыми классом окна. (Здесь понятие «класс» не идентично
используемому в С++. Оно скорее означает стиль или тип.) В традиционной
программе класс окна должен быть определен и зарегистрирован прежде, чем
будет создано окно. При регистрации необходимо сообщить Windows, какой
вид должно иметь окно и какую функцию оно выполняет. В то же время реги-
страция класса окна еще не означает создание самого окна. Для этого требует-
ся выполнить дополнительные действия.
Структура Windows-программ отличается от структуры программ других
типов. Это вызвано двумя обстоятельствами: во-первых, способом взаимодей-
ствия между программой и Windows, описанным выше; во-вторых, правилами,
которым следует подчиняться для создания стандартного интерфейса
10
типов. Например, каждый раз при щелчке мышью в окне активной программы посылается соответствующее сообщение. Другой тип сообщений посылается, когда необходимо обновить содержимое активного окна. Сообщения посыла- ются также при нажатии клавиши, если программа ожидает ввода с клавиату- ры. Необходимо запомнить одно: по отношению к программе сообщения по- являются случайным образом. Вот почему Windows-программы похожи на программы обработки прерываний: невозможно предсказать, какое сообщение появится в следующий момент. Все Windows-программы начинают выполнение с вызова функции Win- Main(). При традиционном методе программирования это нужно делать явно. С использованием различных шаблонов (например, библиотеки MFC Visual C++) такая необходимость отпадает, но функция все-таки существует. Все Windows-программы должны содержать специальную функцию, ко- торая не используется в самой программе, но вызывается самой операционной системой. Эту функцию обычно называют функцией окна, или процедурой ок- на. Она вызывается Windows, когда системе необходимо передать сообщение в программу. Именно через нее осуществляется взаимодействие между про- граммой и системой. Функция окна передает сообщение в своих аргументах. Согласно терминологии Windows, функции, вызываемые системой, называют- ся функциями обратного вызова. Таким образом, функция окна является функцией обратного вызова. Помимо принятия сообщения от Windows функ- ция окна должна вызывать выполнение действия, указанного в сообщении. Конечно, программа не обязана отвечать на все сообщения, посылаемые Win- dows. Поскольку их может быть сотни, то большинство сообщений обычно обрабатывается самой системой, а программе достаточно поручить Windows выполнить действия, предусмотренные по умолчанию. Как объяснялось выше, Windows взаимодействует с программой, посылая ей сообщения. Все приложения Windows должны организовать так называемый цикл сообщений – обычно внутри функции WinMain(). В этом цикле каждое не- обработанное сообщение должно быть извлечено из очереди сообщений данного приложения и передано назад в Windows, которая затем вызывает функцию окна программы с данным сообщением в качестве аргумента. Каждое окно в Windows-приложении характеризуется определенными ат- рибутами, называемыми классом окна. (Здесь понятие «класс» не идентично используемому в С++. Оно скорее означает стиль или тип.) В традиционной программе класс окна должен быть определен и зарегистрирован прежде, чем будет создано окно. При регистрации необходимо сообщить Windows, какой вид должно иметь окно и какую функцию оно выполняет. В то же время реги- страция класса окна еще не означает создание самого окна. Для этого требует- ся выполнить дополнительные действия. Структура Windows-программ отличается от структуры программ других типов. Это вызвано двумя обстоятельствами: во-первых, способом взаимодей- ствия между программой и Windows, описанным выше; во-вторых, правилами, которым следует подчиняться для создания стандартного интерфейса 10
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »