Шаг 25 - Используем GDI для вывода на поверхность – GetDC

Я уже говорил, что GDI не куда не делось и этот интерфейс можно использовать для рисования на поверхности. Есть ряд операций в которых нам как раз может помочь GDI. Например, вывод текста. Для того, что бы использовать функции GDI нам нужно получить указатель на DC. Как раз это и реализует функция GetDC. Отличительной особенность этой функции служит то, что она не требует блокировки. То есть блокировка производиться автоматически. Но как программа узнает, что мы больше не будем использовать GDI? Как раз для этого есть другая функция ReleaseDC. Итак, общая схема такая.

GetDC
.........
Функции работы с GDI
.........
ReleaseDC

Visual Basic
Visual C++

Visual Basic

Описание

object.GetDC() As Long

Параметры
Object
Объектная переменная к DirectDrawSurface7

Возвращаемое значение
Если функция успешна то контекст устройства.

Ошибки
Если вызов не успешен, то будет сгенерирована ошибка и код установлен в Err.Number. Одно из следующих значений.

DDERR_DCALREADYCREATED  
DDERR_GENERIC  
DDERR_INVALIDOBJECT  
DDERR_INVALIDPARAMS  
DDERR_INVALIDSURFACETYPE  
DDERR_SURFACELOST  
DDERR_UNSUPPORTED  
DDERR_WASSTILLDRAWING  

Visual C++

Описание

HRESULT GetDC
(
	HDC FAR *lphDC  
);

Параметры
lphDC
Адрес возвращенного контекста устройства.

Возвращаемое значение Если метод успешен, возвращаемое значение - DD_OK.
Если метод терпит неудачу, возвращается одна из следующих значений ошибки:

DDERR_DCALREADYCREATED  
DDERR_GENERIC  
DDERR_INVALIDOBJECT  
DDERR_INVALIDPARAMS  
DDERR_INVALIDSURFACETYPE  
DDERR_SURFACELOST  
DDERR_UNSUPPORTED  
DDERR_WASSTILLDRAWING  

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 28.04.2002