Поделиться через


Оконная система координат

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

Система и приложения определяют положение окна на экране в координатах экрана. Для экранных координат точкой отсчета является верхний левый угол экрана. Полное положение окна часто описывается структурой RECT , содержащей экранные координаты двух точек, определяющих левый верхний и нижний правый углы окна.

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

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

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