用户和图形设备接口对象

【勇芳软件工作室】汉化HomePreviousNext

用户和GDI对象每个对象只支持一个句柄。进程无法继承或复制用户或GDI对象的句柄。

用户对象的处理对所有进程都是公开的。也就是说,任何进程都可以使用用户对象句柄,前提是进程可以访问按用户安全性定义的对象。有关安全性的更多信息,请参阅安全.

处理GDI对象对进程是私有的。也就是说,只有创建GDI对象的进程才能使用对象句柄。

在下图中,应用程序创建一个窗口对象。CreateWindow函数创建窗口对象并返回一个对象句柄。

创建窗口对象后,应用程序可以使用窗口句柄来显示或更改窗口。在窗体对象被破坏之前,句柄保持有效。

在下一个插图中,应用程序会破坏窗口对象。DestroyWindow函数从内存中删除窗口对象,这会使窗口句柄无效。

下表列出了Windows用户对象和每个对象的创建者和析构函数。创建者函数可以创建对象和对象句柄,或者简单地返回现有的对象句柄。析构函数从内存中删除对象,这会使对象句柄无效。

请注意,窗口台和桌面对象由系统创建和维护;应用程序无法删除这些对象。

用户对象

目的创作者功能析构函数
加速器表CreateAcceleratorTableDestroyAcceleratorTable
光标CreateCursor, LoadCursor, GetCursor, SetCursorDestroyCursor
DDE对话DdeConnect, DdeConnectList, DdeQueryNextServer, DdeReconnectDdeDisconnect, DdeDisconnectList
桌面GetThreadDesktop
SetWindowsHook, SetWindowsHookExUnhookWindowsHook, UnhookWindowsHookEx
菜单CreateMenu, CreatePopupMenu, GetMenu, GetSubMenu, GetSystemMenu, LoadMenu, LoadMenuIndirectDestroyMenu
窗口CreateWindowCreateWindowExCreateDialogParamCreateDialogIndirectParamCreateMDIWindowFindWindowGetWindowGetClipboardOwnerGetDesktopWindowGetDlgItemGetForegroundWindowGetLastActivePopup },GetTopWindowWindowFromDCWindowFromPoint等人DestroyWindow
窗口位置BeginDeferWindowPosEndDeferWindowPos
窗台GetProcessWindowStation

下表列出了Windows GDI对象和每个对象的创建者和析构函数。创建者函数可以创建对象和对象句柄,或者简单地返回现有的对象句柄。析构函数从内存中删除对象,这会使对象句柄无效。

GDI对象

目的创作者功能析构函数
位图CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection, CreateDiscardableBitmapDeleteObject
CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrushDeleteObject
字形CreateFont, CreateFontIndirectDeleteObject
调色板CreatePaletteDeleteObject
钢笔CreatePen, CreatePenIndirectDeleteObject
延长笔ExtCreatePenDeleteObject
地区CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn, ExtCreateRegion, PathToRegionDeleteObject
设备上下文(DC)CreateDC, GetDCDeleteDC, ReleaseDC
内存直流CreateCompatibleDCDeleteDC
图元文件CloseMetaFile, CopyMetaFile, GetMetaFile, SetMetaFileBitsExDeleteMetaFile
图元文件DCCreateMetafileCloseMetaFile
增强图元文件CloseEnhMetaFile, CopyEnhMetaFile, GetEnhMetaFile, SetEnhMetaFileBitsDeleteEnhMetaFile
增强型图元文件DCCreateEnhMetaFileCloseEnhMetaFile