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


Метод Graphics::GetHDC (gdiplusgraphics.h)

Метод Graphics::GetHDC получает дескриптор контекста устройства, связанного с этим объектом Graphics .

Синтаксис

HDC GetHDC();

Возвращаемое значение

Тип: HDC

Этот метод возвращает дескриптор контекста устройства, связанного с данным объектом Graphics .

Комментарии

Каждый вызов метода Graphics::GetHDC объекта Graphics должен быть связан с вызовом метода Graphics::ReleaseHDC того же объекта Graphics . Не вызывайте методы объекта Graphics между вызовами Graphics::GetHDC и Graphics::ReleaseHDC. Если попытаться вызвать метод объекта Graphics между Graphics::GetHDC и Graphics::ReleaseHDC, метод завершится ошибкой и возвратит ObjectBusy.

Любые изменения состояния, внесенные в контекст устройства между Graphics::GetHDC и Graphics::ReleaseHDC , будут игнорироваться GDI+ и не будут отражены в отрисовке, выполненной GDI+.

Примеры

Следующая функция использует GDI+ для рисования эллипса, затем использует GDI для рисования прямоугольника и, наконец, использует GDI+ для рисования линии. Один параметр функции является указателем на объект GDI+ Graphics . Код вызывает метод Graphics::D rawEllipse этого объекта Graphics для рисования эллипса. Затем код вызывает метод Graphics::GetHDC , чтобы получить дескриптор контекста устройства, связанного с объектом Graphics . Код рисует прямоугольник, передавая дескриптор контекста устройства в функцию GDI Rectangle . Код вызывает метод Graphics::ReleaseHDC объекта Graphics , а затем использует объект Graphics для рисования линии.

VOID Example_GetReleaseHDC(Graphics* g)
{
   Pen pen(Color(255, 0, 0, 255));
   g->DrawEllipse(&pen, 10, 10, 100, 50);  // GDI+
   
   HDC hdc = g->GetHDC();
   
      // Make GDI calls, but don't call any methods
      // on g until after the call to ReleaseHDC.
      Rectangle(hdc, 120, 10, 220, 60);  // GDI  
   g->ReleaseHDC(hdc);
   
   // Ok to call methods on g again.
   g->DrawLine(&pen, 240, 10, 340, 60);  
}

Требования

   
Минимальная версия клиента Windows XP, Windows 2000 Профессиональная [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdiplusgraphics.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

См. также раздел

Изменения в модели программирования

Методы FromHDC

Графика

Графические конструкторы

Graphics::ReleaseHDC