小甲鱼 发表于 2014-10-24 15:17:08

GetStockObject

函数功能:

GetStockObject 函数用于获得 Windows 预设的画笔、画刷、字体或者调色板的句柄。


API 函数原型:

注释:_In_ 说明该参数是输入的。
HGDIOBJ GetStockObject(
_In_int fnObject
);

参数解析:


参数 含义
fnObject指定待获取对象的类型,具体参考下边。


fnObject 可取如下值之一:


值 含义
BLACK_BRUSH 黑色画刷
DKGRAY_BRUSH 暗灰色画刷
DC_BRUSH 1. 纯色画刷,默认颜色是白色的
2. 调用 SetDCBrushColor 函数可以修改该值的颜色

GRAY_BRUSH 灰色画刷
HOLLOW_BRUSH 空画刷(相当于 NULL_BRUSH)
LTGRAY_BRUSH 浅灰色画刷
NULL_BRUSH 空画刷(相当于 HOLLOW_BRUSH)
WHITE_BRUSH 白色画刷
BLACK_PEN 黑色画笔
DC_PEN1. 纯色画笔,默认颜色是白色的
2. 调用 SetDCPenColor 函数可以修改该值的颜色
NULL_PEN 空画笔(空画笔不绘制任何东西)
WHITE_PEN 白色画笔
ANSI_FIXED_FONT Windows 中的固定间距(等宽)系统字体
ANSI_VAR_FONT Windows 中的可变间距(比例间距)系统字体
DEVICE_DEFAULT_FONT 设备相关字体
DEFAULT_GUI_FONT 1. 用户界面对象(如菜单、对话框)的默认字体
2. 不推荐使用 DEFAULT_GUI_FONT 或 SYSTEM_FONT 获得对话框或系统的字体
3. 该字体默认是 Tahoma
OEM_FIXED_FONT 原始设备制造商(OEM)相关固定间距(等宽)字体
SYSTEM_FONT 1. 系统字体
2. 默认情况下,Windows 使用系统字体绘制菜单,对话框和文本
3. 不推荐使用 DEFAULT_GUI_FONT 或 SYSTEM_FONT 获得对话框或系统的字体
4. 该字体默认是 Tahoma
SYSTEM_FIXED_FONT 1. 固定间距(等宽)系统字体
2. 该对象仅为兼容 16 位 Windows 版本提供
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 函数。

【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

WinSDK
页: [1]
查看完整版本: GetStockObject