User and Graphics Device Interface Objects

Страницы работы

Содержание работы

User and Graphics Device Interface Objects

User и GDI объекты поддерживают только один описатель (handle) объекта. Процессы не могут наследовать или дублировать описатели  user или  GDI объектов.

Описатели user объектов общедоступны для всех процессов. Это значит, что любой процесс может использовать описатель user объекта, при условии, что процесс имеет доступ к объекту как определено безопасностью пользователя. Более подробную информацию о безопасности смотри в разделе ‘Безопасность’.

Описатели GDI объектов приватны для процесса. Это значит, что только процесс, который создал GDI объект, может использовать этот описатель.


На следующем рисунке приложение создает объект окна. Функция CreateWindow создает объект окна и возвращает описатель объекта.

Рисунок 1

После того, как объект окна был создан, приложение может использовать описатель окна, чтобы отобразить или изменить окно. Описатель существует, пока объект окна не уничтожен.


На следующем рисунке, приложение уничтожает объект окна. Функция DestroyWindow удаляет объект окна из памяти, который (объект) уничтожает описатель окна.

Рисунок 2

В следующей таблице представлены Windows user объекты, а также конструктор–функция и деструктор–функция (далее по тексту конструктор или деструктор) для каждого объекта. Конструктор либо создает объект и описатель объекта, либо просто возвращает существующий описатель объекта. Деструктор удаляет объект из памяти и уничтожает описатель объекта.

Следует иметь в виду, что window station и объекты desktop создаются и поддерживаются системой; приложения не могут удалить эти объекты.

User объекты

Объект

Конструктор

Деструктор

Таблица акселераторов

CreateAcceleratorTable

DestroyAcceleratorTable

Cursor

CreateCursor, LoadCursor, GetCursor, SetCursor

DestroyCursor

DDE conversation

DdeConnect, DdeConnectList, DdeQueryNextServer, DdeReconnect

DdeDisconnect, DdeDisconnectList

Desktop

GetThreadDesktop

Hook

SetWindowsHook, SetWindowsHookEx

UnhookWindowsHook, UnhookWindowsHookEx

Menu

CreateMenu, CreatePopupMenu, GetMenu, GetSubMenu, GetSystemMenu, LoadMenu, LoadMenuIndirect

DestroyMenu

Window

CreateWindow, CreateWindowEx, CreateDialogParam, CreateDialogIndirectParam, CreateMDIWindow, FindWindow, GetWindow, GetClipboardOwner, GetDesktopWindow, GetDlgItem, GetForegroundWindow, GetLastActivePopup, GetOpenClipboardWindow, GetTopWindow, WindowFromDC, WindowFromPoint, and others

DestroyWindow

Window position

BeginDeferWindowPos

EndDeferWindowPos

Window station

GetProcessWindowStation

Таблица 1

В следующей таблице представлены Windows GDI объекты, а также конструктор и деструктор для каждого объекта. Конструктор либо создает объект и описатель объекта, либо просто возвращает существующий описатель объекта. Деструктор удаляет объект из памяти и уничтожает описатель объекта.

GDI объекты

Объект

Конструктор

Деструктор

Bitmap

CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection, CreateDiscardableBitmap

DeleteObject

Brush

CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush

DeleteObject

Font

CreateFont, CreateFontIndirect

DeleteObject

Palette

CreatePalette

DeleteObject

Pen

CreatePen, CreatePenIndirect

DeleteObject

Extended pen

ExtCreatePen

DeleteObject

Region

CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn, ExtCreateRegion, PathToRegion

DeleteObject

Device context (DC)

CreateDC, GetDC

DeleteDC, ReleaseDC

Memory DC

CreateCompatibleDC

DeleteDC

Metafile

CloseMetaFile, CopyMetaFile, GetMetaFile, SetMetaFileBitsEx

DeleteMetaFile

Metafile DC

CreateMetafile

CloseMetaFile

Enhanced metafile

CloseEnhMetaFile, CopyEnhMetaFile, GetEnhMetaFile, SetEnhMetaFileBits

DeleteEnhMetaFile

Enhanced-metafile DC

CreateEnhMetaFile

CloseEnhMetaFile

Таблица 2

User объекты

CreateAcceleratorTable

Функция CreateAcceleratorTable создает таблицу акселераторов (accelerator table).

Похожие материалы

Информация о работе