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


Графические объекты

Windows предоставляет различные средства рисования для использования в контекстах устройств. Он предоставляет ручки для рисования линий, кистей для заполнения интерьеров и шрифтов для рисования текста. MFC предоставляет классы графических объектов, эквивалентные инструментам рисования в Windows. В таблице ниже показаны доступные классы и эквивалентные типы дескрипторов графического устройства Windows (GDI).

Замечание

Дополнительные сведения см. в документации по пакету SDK GDI+.

В этой статье объясняется использование этих классов графических объектов:

Классы для объектов GDI Windows

Класс Тип дескриптора Windows
CPen HPEN
CBrush HBRUSH
CFont HFONT
CBitmap HBITMAP
CPalette HPALETTE
CRgn HRGN

Замечание

Класс CImage обеспечивает расширенную поддержку растровых карт.

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

Каждый класс графического объекта в библиотеке классов имеет оператор приведения, который приведет объект MFC к связанному дескриптору Windows. Результирующий дескриптор действителен, пока связанный объект не отсоединит его. Используйте функцию-член объекта Detach для отсоединения дескриптора.

Следующий код преобразует CPen объект в дескриптор Windows:

CPen myPen;
myPen.CreatePen(PS_COSMETIC, 1, RGB(255, 255, 0));
HPEN hMyPen = (HPEN)myPen;

Создание графического объекта в контексте устройства

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

  2. Выберите объект в текущем контексте устройства, сохранив старый графический объект, который был выбран ранее.

  3. После завершения работы с текущим графическим объектом выберите старый графический объект обратно в контекст устройства, чтобы восстановить его состояние.

  4. Позволить автоматически удалять графический объект, выделенный в кадре, при выходе из области действия.

Замечание

Если вы будете использовать графический объект неоднократно, вы можете выделить его один раз и выбирать его в контекст устройства каждый раз, когда это необходимо. Не забудьте удалить такой объект, если он больше не нужен.

Что вы хотите узнать больше о

См. также

Объекты окна