Четвертый Borland C++ и его окружение

       

Обработка сообщений приложения


После инициализации приложения начинает выполняться цикл опроса сообщений объекта - MessageLoop. MessageLoop отвечает за обработку поступающих от Windows сообщений. Изменить обработку сообщений в ObjectWindows можно двумя способами: задать дополнительную обработку сообщений, переопределив функции обработки, и

выполняя обработку во время простоя.

TApplication имеет функции-элементы MessageLoop, IdleAction,

PreProcessMenu и ProcessAppMsg, обеспечивающие для любых приложений ObjectWindows функциональные возможности обработки сообщений.

Обработка во время простоя реализуется с помощью переопределения IdleAction. Такая обработка выполняется, когда пользователь

не выполняет никаких действий. Такая обработка должна быть краткосрочной. Длительные операции следует разбивать на несколько процессов.

Параметр функции IdleAction idleCount задает, сколько раз

между сообщениями должна вызываться IdleAction. idleCount можно

использовать для выбора между низкоприоритетной и высокоприоритетной обработкой во время простоя. Если idleCount достигает высокого значения, то ввода от пользователя не было уже длительный период, и надежнее выполнить низкоприоритетную обработку.

В дополнение к своей собственной обработке всегда следует

вызывать функцию IdleAction базового класса. Если вы пишете приложения для Windows NT, то можете для фоновой обработки использовать несколько нитей.



Содержание раздела