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


Контексты родительского отображаемого устройства

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

Приложение может указать стиль CS_PARENTDC, чтобы задать область обрезки дочернего окна в качестве области родительского окна, чтобы дочерний элемент смог рисовать в родительском окне. Указание CS_PARENTDC повышает производительность приложения, так как системе не нужно постоянно пересчитывать видимую область для каждого дочернего окна.

Значения атрибутов, заданные родительским окном, не сохраняются для дочернего окна; Например, родительское окно не может задать кисть для своих дочерних окон. Единственное сохраненное свойство — отсеченная область. Окно должно обрезать собственные выходные данные до пределов окна. Так как область обрезки для контекста родительского устройства идентична родительскому окну, дочернее окно потенциально может рисовать по всему родительскому окну, но контекст родительского устройства не следует использовать таким образом.

Система игнорирует стиль CS_PARENTDC, если родительское окно использует частный контекст или контекст устройства класса, если родительское окно обрезает свои дочерние окна или если дочернее окно обрезает свои дочерние окна или одноуровневые окна.