Система координат окна


Система координат для окна основана на системе координат устройства отображения. Основная единицы измерения - это единица устройства (обычно пиксель). Точки на экране характеризуются парами координат y и x. Координаты x увеличиваются вправо; координаты y увеличиваются сверху вниз. Начало координат (0,0) для системы зависит от типа использующихся координат.

Система и приложения определяют позицию окна на экране в экранных координатах (screen coordinates). Для экранных координат начало координат - левый верхний угол экрана. Полная позиция окна часто описывается структурой RECT, содержащей в себе экранные координаты двух точек, которые определяют левый верхний и правый нижний углы окна.

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

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

Время от времени, приложения могут быть обязаны устанавливать соответствие координат в одном окне с таковыми же из другого окна. Приложение может установить соответствие координат при помощи использования функции MapWindowPoints. Если одно из окон является окном рабочего стола, функция фактически преобразует экранные координаты в координаты рабочей области и наоборот; окно рабочего стола всегда определяется в экранных координатах (аппаратных координатах устройства).

Назад в оглавление
На главную страницу
Переведено 24.12.2010 21:00 ©Copyright V. Sokovikov
Hosted by uCoz