Функция GetDC


Функция GetDC извлекает дескриптор дисплейного контекста устройства (DC) для рабочей области заданного окна или для всего экрана. Вы можете использовать возвращенный дескриптор в последующих функциях GDI, чтобы рисовать в контексте устройства.

Функция GetDCEx -  это улучшенная GetDC, который дает приложению больше контроля, как и происходит ли отсечение по границам в рабочей области.

Синтаксис 

HDC GetDC(
  HWND hWnd   // дескриптор окна
);

Параметры

hWnd

[in] Дескриптор окна, контекст устройства (DC) которого должен извлечься. Если это значение -  ПУСТО (NULL), GetDC извлекает контекст устройства (DC) для всего экрана.

Windows 98/Me, Windows 2000/XP: Чтобы получить контекст устройства (DC) для конкретного экранного монитора, используйте функцию EnumDisplayMonitors и CreateDC.

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

Если функция завершается успешно, возвращаемое значение - дескриптор контекста устройства (DC) для рабочей области заданного окна.

Если функция завершается ошибкой, возвращаемое значение -  ПУСТО (NULL).

Windows NT/2000/XP: Чтобы получать дополнительные сведения об ошибке, вызовите GetLastError.

Замечания

Функция GetDC извлекает общий, для класса, или частный контекст устройства (DC) в зависимости от стиля  класса заданного окна. Для класса и частного  контекстов устройства (DC), функция GetDC оставляет предварительно назначенные  атрибуты неизменными. Однако, для общих контекстов устройства (DC), GetDC назначает атрибуты контексту устройства (DC) по умолчанию, каждый раз, когда он извлекается. Например, заданный по умолчанию шрифт System, который является растровым шрифтом. Поскольку это так,  дескриптор общего контекста устройства (DC), возвращенный при помощи GetDC,  не говорит Вам, какой шрифт, цвет или кисть были использованы, когда выводилось окно. Чтобы определить шрифт, вызовите функцию GetTextFace.

Обратите внимание! на то, что дескриптор контекста устройства (DC) может  быть использован в любой момент только одиночным потоком.

После рисования общим контекстом устройства (DC),  должна вызваться функция ReleaseDC, чтобы освободить контекст устройства. Для DC класса и частный контексты устройства  не должны освобождаться. Функция ReleaseDC должна вызываться из того же самого потока, который вызвал GetDC. Число контекстов устройства (DC) ограничено только доступной памятью.

Windows 95/98/Me: Имеется только 5 доступных общих контекстов устройства (DC)  на один поток, в соответствии с этим отказ освободить контекст устройства (DC) может воспрепятствовать другим приложениям обращаться к нему.

Код примера

Пример смотри в статье Рисование мышью.

Смотри также 

Обзор Контексты  устройства, Функции, используемые контекстами устройства, GetDCEx, ReleaseDC, GetTextFace, GetWindowDC

 

Размещение и совместимость GetDC

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz