Объекты GDI
Объекты GDI поддерживают только один дескриптор на объект. Дескрипторы объектов GDI являются приватными для процесса. То есть только процесс, который создавал объект GDI, может использовать дескриптор объекта. Отдельно взятый процесс может иметь не больше, чем 16 384 открытых дескрипторов объекта GDI.
Нижеследующая таблица перечисляет объекты GDI, вместе с каждым объектом функции создатели и разрушители. Функция создатель или создает объект и дескриптор объекта, или просто возвращает существующий дескриптор объекта. Функции разрушители удаляют объект из памяти, что делает недействительным дескриптор объекта.
Объект GDI | Функция - создатель | Функция - разрушитель |
---|---|---|
Точечный рисунок (Bitmap) | CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection, CreateDiscardableBitmap | DeleteObject |
Кисть (Brush) | CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush | DeleteObject |
Контексты устройства (DC) | CreateDC | DeleteDC, ReleaseDC |
Расширенный метафайл (Enhanced metafile) | CreateEnhMetaFile | DeleteEnhMetaFile |
Контексты устройства расширенного метафайла (Enhanced-metafile DC) | CreateEnhMetaFile | CloseEnhMetaFile |
Шрифт (Font) | CreateFont, CreateFontIndirect | DeleteObject |
Контексты устройства в памяти (Memory DC) | CreateCompatibleDC | DeleteDC |
Метафайл (Metafile) | CreateMetaFile | DeleteMetaFile |
Контексты устройства метафайла (Metafile DC) | CreateMetaFile | CloseMetaFile |
Палитра (Palette) | CreatePalette | DeleteObject |
Перо и расширенное перо (Pen and extended pen) | CreatePen, CreatePenIndirect, ExtCreatePen | DeleteObject |
Регион (Region) | CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn, ExtCreateRegion, PathToRegion | DeleteObject |