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


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

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

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

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

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

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