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


Контексты устройства отображения окна

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

Приложение может получить контекст устройства окна с помощью GetWindowDC или функции GetDCEx с указанным параметром DCX_WINDOW. Функция извлекает контекст устройства окна из кэша контекста отображаемого устройства. Окно, использующее контекст устройства окна, должно освободить его после рисования с помощью функциивыпускаReleaseDC как можно скорее. Контексты устройств окна всегда находятся в кэше; Стили классов CS_OWNDC и CS_CLASSDC не влияют на контекст устройства.

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