极语言官方网站

图形对象

GDI 对象仅支持每个对象一个句柄。 GDI 对象的句柄对进程是专用的。

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


理论上,每个会话有 65,536 个 GDI 句柄的限制。

但是,每个会话可以打开的最大 GDI 句柄数通常较低,因为它受可用内存的影响。


Windows 2000: 每个会话限制为 16,384 个 GDI 句柄。


还有一个默认的 GDI 句柄每进程限制。 若要更改此限制,请设置以下注册表值:

\ HKEY_LOCAL_MACHINE软件\微软\\ Windows NT CurrentVersion\Windows\GDIProcessHandleQuota

此值可以设置为介于 256 和 65,536 之间的数字。

Windows 2000: 此值可以设置为介于 256 和 16,384 之间的数字。


管理 GDI 对象

下表列出了 GDI 对象,以及每个对象的创建者和销毁器函数。

创建者函数要么创建对象和对象句柄,要么只返回现有的对象句柄。

销毁器函数从内存中删除对象,这会使对象句柄失效。


GDI 对象创建 函数销毁 函数
位图创建位图、新建位图、创建图像、关联位图、内建位图、兼容位图删除对象
画刷新建笔刷、内建空刷、内建画刷、图案笔刷、内建笔刷、创建画刷删除对象
设备上下文驱动设备删除设备、释放设备
增强型图元文件创建强图删除强图
增强型图元文件 DC创建图元删除图元
字体创建字体、新建字体删除对象
内存 DC创建设备删除设备
图元文件创建图元删除图元
图元文件 DC创建图元关闭图元
调色板创建色板删除对象
触控笔和扩展笔创建画笔、新建画笔、扩展画笔删除对象
区域合并区域、创建椭圆、新建椭圆、建多边区、叠多边区、创建矩形、新建矩形、建圆矩形、区域转换、转换区域删除对象