函数功能:
GetStockObject 函数用于获得 Windows 预设的画笔、画刷、字体或者调色板的句柄。
API 函数原型:
注释:_In_ 说明该参数是输入的。
HGDIOBJ GetStockObject( _In_ int fnObject );
参数解析:
|
参数 |
含义 |
|
fnObject |
指定待获取对象的类型,具体参考下边。 |
fnObject 可取如下值之一:
|
值 |
含义 |
|
BLACK_BRUSH |
黑色画刷 |
|
DKGRAY_BRUSH |
暗灰色画刷 |
|
DC_BRUSH |
1. 纯色画刷,默认颜色是白色的 |
|
GRAY_BRUSH |
灰色画刷 |
|
HOLLOW_BRUSH |
空画刷(相当于 NULL_BRUSH) |
|
LTGRAY_BRUSH |
浅灰色画刷 |
|
NULL_BRUSH |
空画刷(相当于 HOLLOW_BRUSH) |
|
WHITE_BRUSH |
白色画刷 |
|
BLACK_PEN |
黑色画笔 |
|
DC_PEN |
1. 纯色画笔,默认颜色是白色的 |
|
NULL_PEN |
空画笔(空画笔不绘制任何东西) |
|
WHITE_PEN |
白色画笔 |
|
ANSI_FIXED_FONT |
Windows 中的固定间距(等宽)系统字体 |
|
ANSI_VAR_FONT |
Windows 中的可变间距(比例间距)系统字体 |
|
DEVICE_DEFAULT_FONT |
设备相关字体 |
|
DEFAULT_GUI_FONT |
1. 用户界面对象(如菜单、对话框)的默认字体 |
|
OEM_FIXED_FONT |
原始设备制造商(OEM)相关固定间距(等宽)字体 |
|
SYSTEM_FONT |
1. 系统字体 |
|
SYSTEM_FIXED_FONT |
1. 固定间距(等宽)系统字体 |
|
DEFAULT_PALETTE |
默认调色板(该调色板由系统调色板中的静态色彩组成) |
返回值:
1. 如果函数调用成功,返回值是所申请的逻辑对象的句柄;
2. 如果函数调用失败,返回值是 NULL。
备注:
1. 不建议您使用该函数获得对话框和窗口的当前字体。应该使用 SystemParametersInfo 函数(SPI_GETNONCLIENTMETRICS 参数)来获得当前字体,因为 SystemParametersInfo 函数将考虑到当前主题,并提供了标题栏,菜单和消息对话框的字体信息。
2. 仅在窗口风格为 CS_HREDRAW 和 CS_VREDRAW 中,才能使用 DKGRAY_BRUSH、GRAY_BRUSH 和 LTGRAY_BRUSH 对象。如果在其他风格的窗口中使灰色画刷,可能导致在窗口移动或改变大小之后出现画刷模式错位现象,原始画刷不能被调整。
3. HOLLOW_BRUSH 和 NULL_BRUSH 对象是一样的。
4. 不必要通过调用 DeleteObject 函数来删除 Windows 预设的对象。
5. DC_BRUSH 和 DC_PEN 都能与其他对象如 BLACK_BRUSH 和 BLACK_PEN 相互交换。具体请参考 GetDCBrushColor 函数、SetDCBrushColor 函数、GetDCPenColor 函数和 SetDCPenColor 函数。




