Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 6004.doc
Скачиваний:
20
Добавлен:
30.04.2022
Размер:
1.29 Mб
Скачать

5.2.5.1Обработка двойного щелчка (Double-Click Messages)

Система генерирует сообщение о двойном щелчке, когда пользователь дважды нажимает кнопку за короткое время. При первом щелчке система определяет прямоугольную область, в пределах которой находится горячая точка курсора и делает отметку времени нажатия. При повторном нажатии той же кнопки система сравнивает позицию курсора с границами прямоугольника и вычисляет время, которое прошло с момента первого щелчка. Если курсор не перемещался и время не превышает установленного для мыши тайм-аута, система генерирует сообщение о двойном щелчке. Приложение может определить или установить продолжительность тайм-аута через GetDoubleClickTime и SetDoubleClickTime, либо передавая флаг

SPI_SETDOUBLECLICKTIME функции SystemParametersInfo. Размеры прямоугольника, по которому Windows определяет двойной щелчок, устанавливаются передачей флагов SPI_SETDOUBLECLKWIDTН и SPI_SETDOUBLECLKНEIGНT. Отметим, что приложение должно зарегистрировать окно, получающее сообщение о двойном щелчке, в классе CS_DBLCLKS. В самом общем виде двойной щелчок представляет собой серию сообщений

WM_LBUTTONDOWN

WM_LBUTTONUP

WM_LBUTTONDBLCLK

WM_LBUTTONUP.

Именно поэтому имеется возможность обработать как первое нажатие кнопки, обычно реализующее выбор некоторого объекта, так и двойной щелчок, обслуживающий запуск функции.

5.2.5.2Сообщения неклиентской области

Окно получает сообщения неклиентской области, когда события, связанные с мышью, происходят вне клиентской области. К неклиентской области относятся границы окна, меню, заголовок, линейки протяжки, системное меню (спрятанное за пиктограммой окна) и экранные кнопки. Прежде всего, Windows генерирует сообщения неклиентской области для собственного употребления. Например, Windows использует эти сообщения для переключения формы курсора при подводе горячей точки к границе окна. Названия неклиентских сообщений мыши аналогичны клиентским и отличаются только префиксом "NC". Например, перемещение курсора в неклиентской области генерирует сообщение WM_NCMOUSEMOVE, нажатие левой кнопки мыши - WM_NCLBUTTONDOWN. В отличие от клиентских сообщений параметр lParam содержит экранные, а не оконные координаты горячей точки курсора.

5.2.5.3Активизация окна

Когда пользователь производит щелчок по неактивному главному окну приложения или неактивному дочернему окну, Windows среди прочих посылает сообщение WM_MOUSEACTIVATE. Оно передается перед сообщением о нажатии кнопки.

При обработке WM_MOUSEACTIVATE окно может управлять получение фокуса ввода и параметрами очереди сообщений. Следующие значения могут быть возвращены после обработки

WM_MOUSEACTIVATE:

MA_ACTIVATE - активизирует окно и не очищает очередь сообщений от мыши;

MA_NOACTIVATE - не активизирует окно и не очищает очередь сообщений от мыши;

MA_ACTIVATEANDEAT - активизирует окно и очищает очередь сообщений от мыши;

MA_NOACTIVATEANDEAT - не активизирует окно и очищает очередь сообщений от мыши.

6.Сетевые операционные системы

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

Сетевые операционные системы выполняют функции

- обеспечения доступа к ресурсам хост-компьютеров;

- отслеживания прав доступа пользователей к конкретным ресурсам;

- обеспечения прозрачности сети и специфики хост-компьюте- ров;

- создания одинаковых механизмов для доступа к локальным и удаленным ресурсам;

- унификации процедуры расчетов за оказываемые услуги;

- поддержки справочной и сервисной информации по сети;

- повышения надежности.

Сети открывают для пользователей доступ к различным ресурсам. Движение программ и данных между хост-компьютерами называется миграцией. Миграция поддерживается компонентами взаимодействия с пользователями, миграции заданий, миграции данных и управляющими компонентами.

Группа компонент взаимодействия с пользователями ("Пользователь-Пользователь", "Пользователь-Система", "Система-Пользователь") обеспечивает миграцию сообщений и опрос текущего состояния. Межпользовательские взаимодействия состоят в обмене электронной почтой, сообщениями в непосредственном диалоге, проведении интерактивных конференций.

Компоненты миграции заданий применяются для управления многошаговыми заданиями, когда допустимо отдельные шаги выполнять на различных хост-машинах и добиваться более сбалансированной загрузки, перемещая задания на недогруженные или лучше соответствующие заданию хост-компьютеры. Функции миграции заданий чаще всего обеспечиваются централизованным управляющим механизмом сети.

Компоненты миграции данных служат для дистанционного доступа к информации. Если речь идет о разнородных хост-машинах, то возникает проблема преобразования данных - типы данных должны сохраняться при переходе через границы между хост-компьютерами. Кроме того, может потребоваться перекодировка символов. Преобразование данных может осуществляться на компьютере-клиенте (тогда говорят о прямой передаче "сырых" данных) или сервере (передача с преобразованием).

Различают два подхода к миграции данных:

1. Передача запроса в удаленный сервер с последующей обратной передачей запрошенного элемента клиенту. Такой подход предпочтительнее при относительно редких запросах.

2. Пересылка файла, содержащего нужный элемент данных, целиком с удаленного сервера с последующим обращением к нужному элементу локальными средствами. Подход применяется при высокой плотности запросов к одному файлу. Существует риск размножения копий одного и того же файла. При модификации файла возникают определенные проблемы, поскольку нужно гарантировать, что подновлены все копии.

Управляющие компоненты служат для управления подсетями, распределением коммуникационных ресурсов и взаимодействием между сетью и компьютерами.

Операционные системы для сетей подразделяют на сетевые и распределенные.

В случае сетевых ОС на каждом хост-компьютере работает своя несетевая операционная система. Сетевыми функциями управляют системные или даже пользовательские программы на хост-компьютерах. Недостаток такого подхода в неоднородности.

В случае распределенной операционной системы от индивидуальных ОС отказываются и создают одну систему для сети в целом. Этот подход требует значительно больших усилий, но в итоге позволяет получить концептуальное единство, т.е. свойство, которое упрощает понимание сети, ее обслуживание, модификацию и т.д. Для сетей с сильно отличающимися архитектурно и разбросанными географически мэйнфреймами обычно применяется подход сетевых ОС. Локальные сети из персональных компьютеров тяготеют к распределенным операционным системам.

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