GetStockObject 检索预定义的备用笔、刷子、字体或者调色板

来源:互联网 发布:大数据时代 英文 编辑:程序博客网 时间:2024/04/29 01:47

 HGDIOBJ GetStockObject(int fnObject);

主要参数

  fnObject:指定对象的类型,该参数可取如下值之一;
  BLACK_BRUSH:黑色画笔;DKGRAY_BRUSH:暗灰色画笔;
  DC_BRUSH:在Windows98,Windows NT 5.0和以后版本中为纯颜色画笔,缺省色为白色,
              可以用SetDCBrushColor函数改变颜色,更多的信息参见以下的注释部分。
  GRAY_BRUSH:灰色画笔;HOLLOW_BRUSH:空画笔(相当于NULL_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:缺省调色板,该调色板由系统调色板中的静态色彩组成。
////////////////////////////
#define WHITE_BRUSH         0
#define LTGRAY_BRUSH        1
#define GRAY_BRUSH          2
#define DKGRAY_BRUSH        3
#define BLACK_BRUSH         4
#define NULL_BRUSH          5
#define HOLLOW_BRUSH        NULL_BRUSH
#define WHITE_PEN           6
#define BLACK_PEN           7
#define NULL_PEN            8
#define SYSTEM_FONT         13
#define DEFAULT_PALETTE     15
#define BORDERX_PEN         32
#define BORDERY_PEN         33
//////////////////////////

返回值

  如果成功,返回值标识申请的逻辑对象,如果失败,返回值为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值


原创粉丝点击