使用股票字体绘制文字

【勇芳软件工作室】汉化HomePreviousNext

Windows提供六种库存字体。股票字体是应用程序可以通过调用GetStockObject函数并传递一个标识所请求字体的值的逻辑字体。以下列表包含您可以指定以获取库存字体的六个值。

含义
ANSI_FIXED_FONT指定基于Windows字符集的等宽字体。通常使用快递字体。
ANSI_VAR_FONT指定基于Windows字符集的比例字体。通常使用MS Sans Serif。
DEVICE_DEFAULT_FONT指定给定设备的首选字体。这通常是显示设备的系统字体;但是,对于某些点阵式打印机,这是一种驻留在设备上的字体。(用这种字体打印通常比使用下载的位图字体打印快)。
OEM_FIXED_FONT指定基于OEM字符集的等宽字体。对于IBM计算机和兼容性,OEM字体基于IBM PC字符集。
SYSTEM_FONT指定系统字体。这是基于Windows字符集的比例字体,由操作系统用于在对话框中显示窗口标题,菜单名称和文本。系统字体始终可用。其他字体只有在已安装的情况下才可用。
SYSTEM_FIXED_FONT在3.0之前的Windows版本中指定与“系统”字体兼容的等宽字体。

以下示例检索Windows变量库存字体的句柄,将其选择到设备上下文中,然后使用该字体写入字符串:

HFONT hfnt, hOldFont;

hfnt = GetStockObject(ANSI_VAR_FONT);

if (hOldFont = SelectObject(hdc, hfnt)) {

TextOut(hdc, 10, 50, "Sample ANSI_VAR_FONT text.", 26);

SelectObject(hdc, hOldFont);

}

如果其他库存字体不可用,GetStockObject返回系统字体(SYSTEM_FONT)的句柄。只有当应用程序的设备上下文的映射模式为MM_TEXT时,才应使用库存字体。