### 函数功能

该函数检索预定义的备用笔、刷子、字体或者调色板的句柄。

### 函数原型

HGDIOBJ GetStockObject(int fnObject)；

### 参数

fnObject：指定对象的类型，该参数可取如下值之一；
BLACK_BRUSH：黑色画笔；DKGRAY_BRUSH：暗灰色画笔；DC_BRUSH：在Windows98,Windows NT 5.0和以后版本中为纯颜色画笔，缺省色为白色，可以用SetDCBrushColor函数改变颜色，更多的信息参见以下的注释部分。GRAY_BRUSH：灰色画笔；HOLLOW_BRUSH：空画笔（相当于HOLLOW_BRUSH）；
LTGRAY_BRUSH：亮灰色画笔；NULL_BRUSH：空画笔（相当于HOLLOW_BRUSH）；
WHITE_BRUSH：白色画笔；BLACK_PEN：黑色钢笔；
DC_PEN：在Windows98、Windows NT 5.0和以后版本中为纯色钢笔，缺省色为白色，使用SetDCPenColor函数可以改变色彩，更多的信息，参见下面的注释部分。
WHITE_PEN：白色钢笔；ANSI_FIXED_FONT：在Windows中为固定间距（等宽）系统字体；
ANSI_VAR_FONT：在Windows中为变间距（比例间距）系统字体；
DEVICE_DEFAUCT_FONT：在WindowsNT中为设备相关字体；
DEFAULT_GUI_FONT：用户界面对象缺省字体，如菜单和对话框；
OEM_FIXED_FONT：原始设备制造商（OEM）相关固定间距（等宽）字体；
SYSTEM_FONT：系统字体，在缺省情况下，系统使用系统字体绘制菜单，对话框控制和文本；
SYSTEM_FIXED_FONT：固定间距（等宽）系统字体，该对象仅提供给兼容16位Windows版本；
DEFAULT_PALETTE：缺省调色板，该调色板由系统调色板中的静态色彩组成。

### 返回值

如果成功，返回值标识声请的逻辑对象，如果失败，返回值为NULL。
WindowsNT：若想获得更多错误信息，请调用GetLastError函数。
注释：仅在CS_HREDRAW和CS_UREDRAW风格的窗口中使用DKGRAY_BRUSH、GRAY_BRUSH和LTGRAY_BRUSH对象。
如果在其他风格的窗口中使灰色画笔，可能导致在窗口移动或改变大小之后出现画笔模式错位现象，原始储存画笔不能被调整。
HOLLOW_BRUSH和NULL_BRUSH储存对象相等。
由DEFAULT_GUI_FONT储存对象使用的字体将改变。当想使用菜单、对话框和其他用户界面对象使用的字体时请使用此储存对象。
不必要通过调用DeleteObject函数来删除储存对象。
Windows 98、Windows NT 5.0和以后版本：DC_BRUSH和DC_PEN都能与其他储存对象如BLACK_BRUSH和BLACK_PEN相互交换关于检索当前钢笔和画笔颜色的信息，请参见GetDCBrushColor和GetDCPencolor，带DC BRUSH或DC PEN参数的Getstockobject函数可以与SetDCPenColor和SetDCBrushColor函数相互交换使用。
Windows CE：Windows CE不支持fnObject参数的如下值：
ANSI_FIXED_FONT、ANSI_VAR_FONT、OEM_FIXED_FONT、SYSTEM_FIXED_FONT
Windows CE1.0版本不支持fnObject的DEFAULT_PALETTE值。

### 速查

Windows NT：3.1及以上版本；Windows：95及以上版本；Windows CE：1.0及以上版本；头文件：wingdi.h；头文件：gdi32.lib。