Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Контекст устройства — это структура данных Windows, содержащая сведения о атрибутах рисования устройства, таких как дисплей или принтер. Все вызовы рисования выполняются через объект контекста устройства, который инкапсулирует API Windows для рисования линий, фигур и текста. Контексты устройств разрешают независимое от устройства рисование в Windows. Контексты устройства можно использовать для рисования на экране, в принтере или в метафайле.
Объекты CPaintDC инкапсулируют типовые конструкции Windows: сначала происходит вызов функции BeginPaint, затем выполняется рисование в контексте устройства, и после этого вызывается функция EndPaint. Конструктор CPaintDC вызывает BeginPaint для вас, а деструктор вызывает EndPaint. Упрощенный процесс заключается в создании объекта CDC , рисования и последующего CDC уничтожения объекта. В платформе большая часть даже этого процесса автоматизирована. В частности, ваша OnDraw функция передается уже подготовленной CPaintDC (через OnPrepareDC), и вы просто тянете в нее. Он уничтожается платформой, и базовый контекст устройства освобождается в Windows после возвращения из вызова функции OnDraw .
Объекты CClientDC инкапсулируют работу с контекстом устройства, представляющего исключительно клиентскую область окна. Конструктор CClientDC вызывает GetDC функцию, а деструктор вызывает функцию ReleaseDC . Объекты CWindowDC инкапсулируют контекст устройства, представляющий все окно, включая его кадр.
Объекты CMetaFileDC инкапсулируют рисование в метафайл Windows. В отличие от CPaintDC, переданного OnDraw, необходимо в этом случае самостоятельно вызвать OnPrepareDC.
Рисование мыши
Большинство рисования в платформенном приложении — и, таким образом, большинство работы с контекстом устройства — выполняется в функции-члене объекта представления OnDraw. Однако для других целей можно использовать объекты контекста устройства. Например, чтобы обеспечить обратную связь отслеживания перемещения мыши в представлении, необходимо рисовать непосредственно в представление, не ожидая вызова OnDraw.
В таком случае можно использовать объект контекста устройства CClientDC для непосредственного рисования в представлении.