- •Порядок обработки сообщений, цикл обработки сообщений
- •Атрибуты контекста.
- •Порядок обработки сообщений, цикл обработки сообщений
- •Аппаратные сообщения
- •Символьные сообщения
- •Дочерние окна
- •Способы хранения данных программы
- •Класс полос прокрутки
- •Класс редактирования
- •25 Класс окна списка
- •Общие сведения о файле ресурсов
- •Меню и сообщения
- •Многозадачность и многопоточность
- •Вытесняющая многозадачность
- •Использование функции Sleep
- •36 Критические разделы
- •37 Использование событий
- •38 Многооконный интерфейс. Элементы mdi. Windows и mdi
- •39 Динамически подключаемые библиотеки. Типы связывания
Атрибуты контекста.
Когда программа запрашивает описатель контекста устройства, Windows создает контекст со значением всех атрибутов по умолчанию. Атрибуты контекста устройства приведены в таблице. Программа может изменить или получить любой из этих атрибутов.
Порядок обработки сообщений, цикл обработки сообщений
Когда в системе происходит какое-либо событие, на которое должна отреагировать исполняемая программа, операционная система посылает программе сообщение об этом событии. Программа получает сообщение и выполняет, реагирующий на это событие. Сформированное операционной системой сообщение помещается в системную очередь сообщений. Каждое сообщение предназначено конкретному окну. ОС определяет какому приложению предназначено сообщение и помещает его в очередь сообщений программы. Далее программа сама должна заботиться об обработке сообщения.
Цикл обработки сообщения выбирает очередное сообщение из программной очереди и вызывает оконную процедуру (ОП) того окна,которому оно предназначено. Если программа в это время занята обработкой другого сообщения, вновь прибывшее сообщение ожидает в очереди завершения обработки предыдущего сообщения
Мышь. Сообщения мыши
Мышь – это графическое устройство ввода информации с одной или более кнопками. Windows поддерживает однокнопочную, двухкнопочную или трехкнопочную мышь. В отличие от клавиатуры, сообщения от мыши приходят в окно в любом случае, если мышь находится над окном и совершается какое-либо действие с мышью, Сообщение от мыши приходит в оконную процедуру при попадании в любую область окна – клиентскую и не клиентскую. Тип сообщений в обоих случаях разный.
Клавиатура. Сообщения клавиатуры
Приложения Windows обязаны поддерживать пользовательский ввод с клавиатуры, так как данный вид ввода информации является основным (совместно с мышью). Windows полностью поддерживает для клавиатуры идеологию сообщений, то есть любая программа узнает о нажатии той или иной клавиши посредством сообщений, которые посылаются оконной процедуре.
Сообщение от клавиатуры проходит две очереди прежде, чем попадет в вашу программу – системную очередь сообщений и очередь сообщений приложения. Из системной очереди Windows выбирает сообщения, предназначенные исключительно ей (например, что нажата перегрузка машины < Ctrl + Alt + Del > или переключение между приложениями < Alt + Tab >). Таким образом, программа получает только адресованные ей сообщения от клавиатуры.
Аппаратные сообщения
Сообщения, которые приложение (ваша программа) получает от клавиатуры, различаются на аппаратные ( keystrokes ) и символьные ( characters ). Любое нажатие на клавиатуре генерирует аппаратное сообщение. Нажатие клавиши с каким-либо символом (буквой, цифрой, значком) должно привести к тому, что Windows , кроме аппаратного сообщения, пошлет в вашу программу символьное сообщение. Как это происходит, мы рассмотрим позже, а сейчас подробно рассмотрим аппаратные сообщения.
Операционная система выделяет в потоке аппаратных сообщений системные и несистемные сообщения. Системные сообщения обычно вырабатываются при нажатии клавиш в сочетании с клавишей < Alt >. Эти сообщения вызывают опции меню программы или системного меню (< Alt +функциональная клавиша>, < Alt + Esc >), или используются для системных функций, таких как смена активного окна (< Alt + Tab >). Обычно программа игнорирует системные сообщения, однако иногда возникает необходимость в их обработке.
