Visual C++. Описание стандартных классов - CDC

ОГЛАВЛЕНИЕ


CDC

Класс CDC представляет собой класс контекста устройств. Объект класса CDC содержит методы для работы с контекстом таких устройств, как дисплей или принтер, а также позволяет работать с контекстом дисплея, связанным с рабочей областью окна. Все операции вывода информации на дисплей и принтер должны производиться только с использованием методов, предоставляемых объектом класса CDC. Данный класс содержит методы для работы с контекстом устройств, осуществляющих вывод графической информации, методы выбора объектов интерфейса графических устройств (GDI), учитывающие тип выбираемых объектов, и методы для работы с цветами и палитрами. Он также обеспечивает методы для получения и установки атрибутов отображения графической информации, масштабирования, работы с областями просмотра, работы с расширениями окон, преобразования координат, работы с областями, отсечения неотображаемых фрагментов, рисования линий, простых форм, эллипсов и многоугольников. Данный класс содержит, также методы позволяющие выводить текст, работать со шрифтами, использовать управляющие последовательности принтера, прокрутку окон и проигрывание метафайлов. Чтобы использовать объект класса CDC, необходимо его создать, а затем использовать его функции, соответствующие функциям Windows, предназначенным для работы с контекстами устройств. В Windows 95 экранные координаты хранятся в 16-разрядных целых числах со знаком. Поэтому все величины типа int, используемые в качестве аргументов функций класса CDC должны находиться в диапазоне от -32768 до 32767. Для определенных целей в библиотеке MFC предусмотрены классы, производные от класса CDC. Класс CPaintDC включает в себя вызовы функций BeginPaint и EndPaint. Класс CClientDC позволяет работать с контекстом дисплея, связанным с рабочей областью окна. Класс CWindowDC позволяет работать с контекстом дисплея, связанным со всем окном, включая его рамку и элементы управления. Класс CMetaFileDC связывает контекст устройства с метафайлом. Класс CDC содержит две переменные для хранения контекста устройства: m_hDC и m_hAttribDC, которые, при создании объекта класса CDC относятся к одному и тому же устройству. Класс CDC направляет все запросы на вывод информации с использованием GDI к переменной m_hDC, а большинство обращений к атрибутам GDI использует переменную m_hAttribDC. (Примером обращения к атрибутам может служить функция GetTextColor, а функция SetTextColor может служить примером запроса на вывод информации). Например, приложение использует оба эти контекста устройства при работе с объектом класса CMetaFileDC, записывающего выходную информацию в метафайл, используя при этом атрибуты, считанные из контекста физического устройства. Данный режим используется приложением в режиме Предварительного просмотра печати. Может возникнуть случай, когда пользователю потребуется использовать одну и ту же информацию, полученную из обоих контекстов устройств. Для этого используются пары функций, приведенные в таблице П2.4:

Таблица П2.4. Функции, выполняющие аналогичные действия с различными контекстами устройств

Использует m_hAttribDC Использует m_hDC
GetTextExtent GetOutputTextExtent
GetTabbedTextExtent GetOutputTabbedTextExtent
GetTextMetrics GetOutputTextMetrics
GetCharWidth GetOutputCharWidth

Описание данного класса содержится в файле заголовка afxwin.h.